Почему DateTime.ParseExact не анализирует формат UTC с завершающим Z? - PullRequest
11 голосов
/ 08 июля 2011

Другая проблема ParseExact. Я пытаюсь проанализировать строку в формате UTC для даты и времени в формате:

"YYYY-MM-DDThh:mm:ss.ssZ"

в формате UTC с завершающим Z. По какой-то причине я не могу разобрать точно. Я пробовал строки нестандартного формата "u", "s", "o", а также несколько DateTimeStyles, а также рукописные. Культура инвариантна.

По какой-то причине ему не нравится Z, что указывает на то, что это строка UTC. Когда я его убираю, разбирает. Я бы с радостью, с некоторым удовлетворением, избавился бы от конечного Z, поскольку я знаю, что это строки даты и времени UTC, но я не могу. Есть идеи?

1 Ответ

18 голосов
/ 08 июля 2011

Упомянутые вами строки формата строки стандартного формата .Вам, вероятно, следует использовать строку пользовательского формата , например:

DateTime.ParseExact("2011-03-02T20:15:19.64Z", "yyyy-MM-ddTHH:mm:ss.ffK", null).ToUniversalTime()

Если вы не поставите ToUniversalTime() в конце, результат будет преобразован в ваш местный часовой пояс.

...