Отобразите текущее время в этом формате: HH:mm:ss

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

Я хочу время в культуре Нидерландов, которая является "nl-NL".

Это было одним из моего (хотя я забыл проводить подсчет), 1000-я попытка:

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

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

Что я делаю неправильно?

8
задан abatishchev 1 August 2010 в 12:06
поделиться

3 ответа

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

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

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

TimeZoneInfo.GetSystemTimeZones();

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

var timeZone = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
string s = TimeZoneInfo.ConvertTime(DateTime.Now, timeZone).ToString("HH:mm:ss");
8
ответ дан 5 December 2019 в 06:36
поделиться
string s = DateTime.Now.ToString("HH:mm:ss");
16
ответ дан 5 December 2019 в 06:36
поделиться

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

1
ответ дан 5 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: