У меня есть дата, которая возвращается в виде строкиCapture UTC Время от строки и формат Все DateTime к нему
string utcdt = "2017-01-01T15:48:00-07:00";
Как я мог извлечь 07:00
Mountain Time из строки выше и форматировать любую дату в это региональное форматирование?
Я не хочу менять часовые пояса на своем компьютере, так как время UTC, возвращаемое переменной utcdt
, может меняться в зависимости от того, и все остальные даты, используемые в моем приложении WinForm, должны соответствовать тем же спецификациям часового пояса.
Редактировать
Я использую API FEDex и это один формат даты returnerd
string utcdt = "2017-01-01T15:48:00-07:00";
Теперь позже в приложении есть
foreach (TrackingDateOrTimestamp timestamp in trackDetail.DatesOrTimes)
Console.WriteLine("{0}: {1}", timestamp.Type, timestamp.DateOrTimestamp);
который возвращает данные в мое местное время - значение
01/01/2017 17:48:00
Я пытаюсь найти решение, чтобы даты были согласованными.
У вас нет часового пояса - у вас есть смещение. Предположительно летом вы хотите отформатировать его со смещением -6, а не -7. На самом деле, вы должны попытаться определить, какой часовой пояс пользователь хочет увидеть, а не просто знать одно смещение. –
@JonSkeet - ты потерял меня ... У меня есть смещение? – NadineSmithJonesPicard
Да, вот что такое «-07: 00». Это налог на добавленную стоимость по UTC, так что местное время на 7 часов меньше UTC. У вас нет «Mountain Time» в любом месте вашей строки. –