Что правильный формат должен использовать для Даты/Времени в XML-файле

96
задан Dave Zych 11 February 2014 в 18:44
поделиться

4 ответа

Я всегда использую формат ISO 8601 (например, 2008-10-31T15:07:38.6875000-05:00) - date.ToString("o"). Это формат даты XSD также. Это - предпочтительный формат и Стандартная Строка формата Даты и времени , хотя можно использовать ручную строку формата при необходимости, если Вы не хотите 'T' между датой и временем: date.ToString("yyyy-MM-dd HH:mm:ss");

РЕДАКТИРОВАНИЕ: при использовании сгенерированного класса от XSD или веб-сервиса можно просто присвоить экземпляр DateTime непосредственно свойству класса. Если Вы пишете текст XML, то используйте вышеупомянутое.

134
ответ дан Ryan 24 November 2019 в 05:38
поделиться

РЕДАКТИРОВАНИЕ: Это - плохой совет. Используйте "o", как выше. "s" делает неправильная вещь .

я всегда использую это:

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

Это корректно, если Ваша схема похожа на это:

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

, Который привел бы к:

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

можно получить больше информации здесь: http://www.w3schools.com/xml/schema_dtypes_date.asp

42
ответ дан Jeff M 24 November 2019 в 05:38
поделиться

Если Вы вручную собираете строковое использование XML var.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss.fffffffZ"));, Который произведет официальный Формат даты/времени XML. Но Вы не должны волноваться о формате при использовании встроенных методов сериализации.

4
ответ дан chilltemp 24 November 2019 в 05:38
поделиться

Что должен сказать DTD?

, Если XML-файл для связи с другим существующим программным обеспечением (например, SOAP), то проверяют, что программное обеспечение для того, что это ожидает.

, Если XML-файл для сериализации или связи с несуществующим программным обеспечением (например, тот Вы пишете), можно определить его. В этом случае я предложил бы что-то, что и легко проанализировать на Вашем предпочтительном языке (языках), и легкий читать для людей. например, если Ваш язык (или VB.NET или C#.NET или безотносительно) позволяет Вам анализировать даты ISO (YYYY-MM-DD) легко, это - то, которое я предложил бы.

3
ответ дан Tanktalus 24 November 2019 в 05:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: