Как конвертировать время из ISO 8601 в DateTime

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63
Здравствуйте!

Подскажите, пожалуйста, как конвертировать время из ISO 8601 в DateTime

2023-09-28T15:46:22.095742Z

На форуме нашел 1 тему со сложным способом в несколько шагов. Возможно, есть более изящное решение?

Нужен ваш совет! :bc:
 
Последнее редактирование:

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
А такое извращение

сначала regex
Код:
\d{4}-\d{2}-\d{2}.\d{2}:\d{2}:\d{2}
а потом замена T на пробел
 
  • Спасибо
Реакции: Hannes

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
когда не знаешь как получить дату - пользуешься DateTime.ParseExact
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
527
Благодарностей
273
Баллы
63
Ух, разобрался.
@doc , спасибо за наводку!
@ZULI спасибо за интересное решение!

Решение:
C#:
DateTime d = DateTime.ParseExact(project.Variables["date_old"].Value, "yyyy-MM-ddTHH:mm:ss.ffffffZ", System.Globalization.CultureInfo.InvariantCulture);
project.Variables["date_new"].Value = d.ToString("dd.MM.yyyy HH:mm:ss");
в using нужно добавить:
using System.Globalization;

Полезные ссылки:
Строки стандартных форматов даты и времени от Microsoft
 
Последнее редактирование:

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
  • Спасибо
Реакции: Hannes

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)