98 votes

Quel est le format à utiliser pour la Date/l'Heure dans un fichier XML

Quel format dois-je utiliser pour la Date et l'Heure de l'écriture dans un fichier XML à l'aide .NET? Dois-je simplement utiliser DateTime.ToString(), ou dois-je utiliser un format particulier?

137voto

Ryan Points 3745

J'ai toujours utiliser le format ISO 8601 format, par exemple, 2008-10-31T15:07:38.6875000-05:00 -- date.ToString("o"). C'est le XSD format de date . C'est le format préféré et un Standard de la Date et de l'Heure Format de chaîne de caractères, mais vous pouvez utiliser un manuel de chaîne de format, si nécessaire, si vous ne voulez pas 'T' dans le format suivant: date.ToString("yyyy-MM-dd HH:mm:ss");

EDIT: Si vous utilisez une classe générée à partir d'un fichier XSD ou Service Web, vous pouvez assigner l'objet DateTime directement à la propriété de classe. Si vous écrivez du texte XML, puis utilisez la ci-dessus.

43voto

jonnii Points 17046

EDIT: C'est de mauvais conseils. Utilisez le "o", comme ci-dessus. "s" la mauvaise chose.

J'ai toujours utiliser ceci:

dateTime.ToUniversalTime().ToString("s");

C'est correct si votre schéma ressemble à ceci:

<xs:element name="startdate" type="xs:dateTime"/>

Ce qui aurait pour résultat:

<startdate>2002-05-30T09:00:00</startdate>

Vous pouvez obtenir plus d'informations ici: http://www.w3schools.com/Schema/schema_dtypes_date.asp

4voto

chilltemp Points 3777

Si vous êtes manuellement l'assemblage de la chaîne XML utiliser var.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ")); Qui sera de sortie officielle XML format de Date / Heure. Mais vous n'avez pas à vous soucier de format si vous utilisez le haut-méthodes de sérialisation.

3voto

Tanktalus Points 7940

Ce qui ne les DTD ont à dire?

Si le fichier XML est pour communiquer avec d'autres logiciels existants (par exemple, SOAP), puis vérifier que le logiciel pour qu'il attend.

Si le fichier XML est pour la sérialisation ou de communication avec les logiciels existants (par exemple, celui que vous avez écrit), vous pouvez le définir. Dans ce cas, je vous suggère de quelque chose qui est à la fois facile à analyser dans votre langue(s) de leur choix, et facile à lire pour les humains. par exemple, si votre langue (si VB.NET ou C#.NET ou quoi que ce soit) vous permet d'analyser ISO dates (AAAA-MM-JJ) facilement, c'est celui que je vous suggère.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X