Question

Je travaille avec une spécification qui appelle à un particulier le format Datetime que je ne l'ai pas nécessairement dû travailler avec encore.

A l'heure du processus, un OFX (1 non 2) datetime doivent être estampillés (soit DTCLIENT ou DTSERVER) dans un format comme celui-ci:
    20.071.015.021.529,000

Cependant, dans les exemples, il est indiqué:

20071015021529.000[-8:PST]    

Je n'ai pas un problème avec le premier en utilisant une instruction de

DateTime.Now.ToString("yyyyMMddHHmmss.fff")

Je peux même comprendre comment obtenir %z pour obtenir le décalage correct.

Le code fuseau horaire de trois lettres est où je suis trébucher. Est-il un moyen facile d'obtenir ce en .net, ou que je vais finir par écrire du code à la sortie et analyser ce que je dois?

Était-ce utile?

La solution

Vous devez savoir exactement dont 3 codes lettre dont il a besoin. Qu'est-ce qui Europe/Paris donner, par exemple? Personnellement, je convertir les données en UTC et le format de cette façon, à moins que vous avez réellement besoin de conserver les informations de fuseau horaire.

Autres conseils

Les codes de fuseau horaire de trois lettres ne sont pas uniques dans tous les pays et ne sont pas complètement normalisées. Par exemple, « CST » peut être l'abréviation de « Central Standard Time (Etats-Unis) » ou « heure normale chinoise ». Ce qui est correct dépend de vos paramètres régionaux.

A ma connaissance, il n'y a pas de fonctionnalité intégrée dans le .NET Framework pour rechercher des codes comme celui-ci, vous devrez implémenter vous-même.

De plus (mais vous savez sans doute), vous devez faire attention à la façon dont vous implémenter cette fonctionnalité. Il n'y a pas nécessairement une à une correspondance entre les décalages UTC et temps codes de zone. Par exemple, UTC-0700 pourrait être soit US Heure normale des Rocheuses (MST) ou US Heure avancée du Pacifique (HAP).

Si vous utilisez r il vous donnera le format RFC. Il va vous aider.

String.Format("{0:r}", dt);  // "Sun, 09 Mar 2008 16:05:07 GMT"   RFC1123

Vous pouvez également vérifier ce lien SO , si elle peut vous aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top