Я испытываю некоторые затруднения при отображении времени в этом формате: HH:mm:ss. Независимо от того, что я пробую, я никогда не получаю его в том формате.
Я хочу время в культуре Нидерландов, которая является "nl-NL".
Это было одним из моего (хотя я забыл проводить подсчет), 1000-я попытка:
CultureInfo ci = new CultureInfo("nl-NL");
string s = DateTime.Now.TimeOfDay.ToString("HH:mm:ss", ci);
Что я делаю неправильно?
Вам необходимо использовать класс 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");
TimeOfDay - это TimeSpan, который имеет только одну ToString () без параметров. Используйте решение Дарина или образец из документации MSDN для TimeSpan.ToString ()