Как бы вы отформатировали DateTime в международном формате? - PullRequest
8 голосов
/ 29 июня 2010

Международный формат представления строки (ГГГГ-ММ-ДД ЧЧ: ММ: СС ± ЧЧММ).

например, 2010-06-10 21:21:10 -0400

в основномпроблема, которую я имею, выясняет, как получить разницу от GMT.

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:yyyy-MM-dd HH:mm:ss ????}", dt);

Ответы [ 6 ]

14 голосов
/ 29 июня 2010
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss zzz");

выведет:

2010-06-29 08:25:16 -07:00
1 голос
/ 29 июня 2010

string isoFormat = inputDateTime.Format ("s");

1 голос
/ 29 июня 2010

Я бы пошел с ISO format.

И у W3C также есть примечание по теме: Date and Time Formats.

Это международные стандарты.

0 голосов
/ 29 июня 2010

Как бы вы отформатировали DateTime в международном формате?

Вы можете использовать спецификатор пользовательского формата (для стандартных форматов даты / времени ISO нет стандартных форматов)).

Проблема, с которой я столкнулся, заключается в том, чтобы выяснить, как получить разницу от времени по Гринвичу.

Разобрать, используя один из статических методов DateTimeOffset, а затемпроверьте свойство Offset.

Или, если хотите, как включить смещение в строку: используйте DateTimeOffset с правильным часовым поясом и спецификатором пользовательского формата.

0 голосов
/ 29 июня 2010

Вы хотите использовать DateTimeOffset .

0 голосов
/ 29 июня 2010

Я думаю, что это показано в часах.Это -4 отличается от GMT.

О, я понимаю, извините, неправильно понял вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...