Есть ли формат Datetime, который не меняет выходное значение даты? - PullRequest
0 голосов
/ 22 мая 2019

У меня есть строка в XML, которая представляет собой дату и время с часовым поясом, и я хотела бы изменить ее на формат DateTime в C #.

Проблема в том, что при переходе от строкового формата к формату даты и времени значение изменяется из-за часового пояса.

Итак, я хотел бы знать, как изменить строку xml на c # datetime без изменения значения.

Значение строки xml:

2014-01-01T00: 00: 00,0000000 + 02: 00

и когда я применяю формат даты и времени, он переходит к:

12/31/2013 22:00:00

Вот мой код на c # для преобразования строки в дату и время:

Convert.ToDateTime(datestringXml);

Мне нужно отсортировать дату с помощью функций Max () и Min ()

Я ожидаю, что результат будет 01/01/2014 ... (меня не волнуют часы, минуты и секунды)

Ответы [ 2 ]

1 голос
/ 26 мая 2019

Вы используете объект DateTime вместо объекта DateTimeOffset. Смещенная часть +02: 00 не помещается в объект DateTime, поэтому она рассчитывает DateTime для вас. У вас не будет этой проблемы, если вы просто проанализируете значение в объект DateTimeOffset.

1 голос
/ 22 мая 2019

Вы видите другую конвертированную дату, потому что в вашей начальной дате +02: 00.Конверсия правильная.Если вам нужны только день, месяц и год, вы можете выполнить синтаксический анализ исходной строки и создать новую дату со считанными значениями.

...