C # DateTime - формат RFC 3339 - PullRequest
       18

C # DateTime - формат RFC 3339

5 голосов
/ 16 февраля 2011

Я пытаюсь сгенерировать строки даты, соответствующие RFC 3339 (т. Е. '2008-03-19T00: 00: 00.0000000-04: 00'), однако у меня возникла проблема с недействительным смещением. Я использую следующее:

private string GetDate(DateTime DateTime)
{
    DateTime UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime);
    return XmlConvert.ToString(UtcDateTime, XmlDateTimeSerializationMode.Utc);
}

но это возвращает меня со значением, таким как "1977-02-03T05: 00: 00Z"

Я также пытался использовать определенный формат, например

 utcDateTime.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK", DateTimeFormatInfo.InvariantInfo); 

Но с такими же результатами.


См. Эту существующую ссылку: Как выполнить синтаксический анализ и преобразование DateTime в формат даты-времени RFC 3339?

1 Ответ

7 голосов
/ 16 февраля 2011

Вы конвертируете свои данные в UTC, поэтому смещение часового пояса к UTC составляет 0:00.RFC определяет удобную запись для дат UTC, суффикс Z.Так что для меня это выглядит как верная строка данных.

...