Quel est le format correct à utiliser pour Date / Heure dans un fichier XML

Quel format dois-je utiliser pour Date / Heure lors de l’écriture dans un fichier XML à l’aide de .NET? Dois-je simplement utiliser DateTime.ToSsortingng() ou dois-je utiliser un format spécifique?

J’utilise toujours le format ISO 8601 (par exemple 2008-10-31T15:07:38.6875000-05:00 ) – date.ToSsortingng("o") . C’est aussi le format de date XSD . C’est le format préféré et une chaîne de format de date et d’heure standard , bien que vous puissiez utiliser une chaîne de format manuelle si nécessaire si vous ne voulez pas le “T” entre la date et l’heure: date.ToSsortingng("yyyy-MM-dd HH:mm:ss");

EDIT: Si vous utilisez une classe générée à partir d’un service XSD ou Web, vous pouvez simplement affecter l’instance DateTime directement à la propriété class. Si vous écrivez du texte XML, utilisez ce qui précède.

EDIT: C’est un mauvais conseil. Utilisez “o”, comme ci-dessus. “s” fait la mauvaise chose .

J’utilise toujours ceci:

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

Ceci est correct si votre schéma ressemble à ceci:

  

Ce qui entraînerait:

 2002-05-30T09:00:00 

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

Si vous assemblez manuellement la chaîne XML, utilisez var.ToUniversalTime().ToSsortingng("yyyy-MM-dd'T'HH:mm:ss.fffffffZ")); Cela affichera le format XML Date Time officiel. Mais vous n’avez pas à vous soucier du format si vous utilisez les méthodes de sérialisation intégrées.

Que dit la DTD?

Si le fichier XML est destiné à communiquer avec d’autres logiciels existants (par exemple, SOAP), vérifiez ce logiciel en fonction de ce qu’il attend.

Si le fichier XML est destiné à la sérialisation ou à la communication avec un logiciel non existant (par exemple, celui que vous écrivez), vous pouvez le définir. Dans ce cas, je suggère quelque chose qui soit à la fois facile à parsingr dans la langue de votre choix et facile à lire pour les humains. Par exemple, si votre langue (que ce soit VB.NET ou C # .NET ou autre) vous permet d’parsingr facilement les dates ISO (AAAA-MM-JJ), c’est ce que je vous suggère.

La classe XmlConvert fournit ces types d’installations. A propos de DateTimes, en particulier, faites attention aux méthodes obsolètes. Voir aussi: https://stackoverflow.com/a/7457718/1288109