Формат для DateTime.ParseExact с определенным смещением - PullRequest
0 голосов
/ 20 октября 2018

Какой конкретный формат даты должен использоваться, чтобы не потерять +03:00 смещение для DateTime.ParseExact для этой следующей строки даты:

var dateFormat = "2017-10-24T08:00:00+03:00"

DateTime.Parse(date) возвращает новый DateTime с отсутствующим "+03: 00"часть.

1 Ответ

0 голосов
/ 20 октября 2018

DateTime имеет не значение UTC .Вот почему вы теряете часть смещения при разборе даже , если она есть в вашей строке.

Вместо этого разберите ее на DateTimeOffset и используйте .Offsetсвойство для получения +03:00 части как TimeSpan.

var dto = DateTimeOffset.Parse("2017-10-24T08:00:00+03:00");
dto.Offset // {03:00:00}

enter image description here

Если вы хотите получить "+03:00" как string, вы можете просто использовать .ToString метод с пользовательским форматированием временного интервала как;

dto.Offset.ToString("hh\\:mm") // return "+03:00"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...