Подтвердить что ты не робот

Как получить DateTime.Now() в формате YYYY-MM-DDThh: mm: ssTZD с использованием С#

Возможный дубликат:
datetime для строки с часовым поясом

Это один из стандартных форматов даты W3C, который я хочу использовать в файле Sitemap. Этот стандарт DateTime:

Завершить дату плюс часы, минуты и секунды:       YYYY-MM-DDThh: mm: ssTZD, где TZD = обозначение часового пояса (Z или + hh: mm или -hh: mm) (например, 1997-07-16T19: 20: 30 + 01: 00)

Я использую следующий код для получения текущего DateTime в этом формате:

DateTime.Now.ToString("yyyy-MM-ddThh:mm:ssTZD");

Но это дает: 2011-08-10T02: 27: 20TZD

По-видимому, DateTime.Now не распознает параметр TZD в параметре. Пожалуйста помоги. Как я могу получить текущую DateTime в этом формате?

4b9b3361

Ответ 1

Используйте спецификатор формата zzz, чтобы получить смещение часового пояса как часы и минуты. Вы также хотите использовать спецификатор формата HH, чтобы получить часы в 24-часовом формате.

DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz")

Результат:

2011-08-09T23:49:58+02:00

В некоторых настройках культуры используются периоды вместо двоеточий для времени, поэтому вы можете использовать литеральные двоеточия вместо разделителей времени:

DateTime.Now.ToString("yyyy-MM-ddTHH':'mm':'sszzz")

Пользовательские строки формата даты и времени

Ответ 2

используйте zzz вместо TZD

Пример:

DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz");

Ответ:

2011-08-09T11:50:00:02+02:00

Ответ 3

Попробуйте следующее:

DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz");

zzz является смещением часового пояса.