Отображение текущего времени в этом формате: чч:мм: СС

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

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

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

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

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

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

3 ответов


вам нужно использовать TimeZoneInfo класс, вот как показать текущее время в Восточном стандартном часовом поясе в формате HH:mm:ss:

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

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

TimeZoneInfo.GetSystemTimeZones();

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

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

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

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