Отображать текущее время в этом формате: ЧЧ: мм: сс - PullRequest
8 голосов
/ 01 августа 2010

У меня возникли проблемы с отображением времени в этом формате: ЧЧ: мм: сс.Неважно, что я пытаюсь, я никогда не получу это в таком формате.

Я хочу, чтобы время в культуре Нидерландов было "nl-NL".хотя я забыл вести счет) 1000-я попытка:

CultureInfo ci = new CultureInfo("nl-NL");

string s = DateTime.Now.TimeOfDay.ToString("HH:mm:ss", ci);

Что я делаю не так?

Ответы [ 3 ]

16 голосов
/ 01 августа 2010
string s = DateTime.Now.ToString("HH:mm:ss");
8 голосов
/ 01 августа 2010

Вам необходимо использовать класс TimeZoneInfo , здесь показано, как отобразить текущее время в часовом поясе восточного стандарта в формате ЧЧ: мм: сс:

var timeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
string s = TimeZoneInfo.ConvertTime(DateTime.Now, timeZone).ToString("HH:mm:ss");

Чтобы найтиДля всех доступных часовых поясов вы можете использовать

TimeZoneInfo.GetSystemTimeZones();

При просмотре возвращенного значения из вышеприведенного, Id для нужного вам часового пояса (Амстердам, я полагаю) называется W. Стандартное время Европы:

var timeZone = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
string s = TimeZoneInfo.ConvertTime(DateTime.Now, timeZone).ToString("HH:mm:ss");
1 голос
/ 01 августа 2010

TimeOfDay - это TimeSpan, который имеет только одну ToString () без параметров.Используйте решение Дарина или образец из документации MSDN для TimeSpan.ToString ()

...