Парсинг ISO 8601 представляет в виде строки к DateTime в.NET? [дубликат]

Вы можете сделать то же самое, что делает Facebook, просто добавив отступы вокруг. Это не так хорошо, как хотелось бы, но выглядит достаточно хорошо.

5
задан Peter Mortensen 23 April 2015 в 17:05
поделиться

2 ответа

string txt= "2009-10-08 08:22:02Z";
DateTime output = DateTime.ParseExact(txt, "u", System.Globalization.CultureInfo.InvariantCulture);

Класс DateTime поддерживает строку стандартного формата u для этого формата

Я думаю, что для формата ISO (с разделителем T) используйте вместо этого "s" из "u". Или используйте:

string txt= "2009-10-08 08:22:02Z";
DateTime output = DateTime.ParseExact(txt, new string[] {"s", "u"}, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);

для поддержки обоих форматов.

19
ответ дан 18 December 2019 в 06:35
поделиться

Нет, это не ISO 8601. Действительное представление ISO 8601 должно иметь T между частями времени и даты.

DateTime может изначально обрабатывать допустимые форматы ISO 8601. Однако, если вы застряли с этим конкретным представлением, вы можете попробовать DateTime.ParseExact и указать строку формата.

5
ответ дан 18 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

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