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?
Réponses
Trop de publicités?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.
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
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.