Мне нужно передать значение типа DateTime в API в следующем формате
2018-12-02T07:00:00.000Z //required format
, но значение datetime из базы данных, которое я получаю, равно
2018-10-25 05:30:00.0000000
Сейчасиспользуя .ToString("o"), значение отформатировано как
.ToString("o")
2018-10-25T05:30:00.0000000
Проверено ниже SO ссылки
Где находится спецификатор формата DateTime 'Z'?
http://stackoverflow.com/questions/9163977/converting-datetime-to-z-format
но не преобразуется в требуемый формат.
Насколько я понимаю, Z в дате и времени представляет UtcTimeZone.
Вы ищете что-то подобное?
var baseTime = DateTime.Parse("2018-10-25 05:30:00.0000000"); var utcTime = baseTime.ToUniversalTime(); Console.WriteLine(utcTime.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"));
Вы можете попробовать это здесь: https://dotnetfiddle.net/HsdMcu
Если у вас есть летнее и зимнее время в вашем регионе, вам может понадобитьсяиспользуйте немного более изощренный способ для правильного анализа начального времени, это можно найти в этом ответе .