我在以这种格式显示时间时遇到了一些麻烦:HH:mm:ss。 无论我尝试什么,我都不会以那种格式得到它。
我希望荷兰文化的时间是“nl-NL”。
这是我的一个(虽然我忘了保持计数)第1000次尝试:
CultureInfo ci = new CultureInfo("nl-NL");
string s = DateTime.Now.TimeOfDay.ToString("HH:mm:ss", ci);
我做错了什么?
答案 0 :(得分:16)
string s = DateTime.Now.ToString("HH:mm:ss");
答案 1 :(得分:8)
您需要使用TimeZoneInfo类,以下是如何以东方标准时间区显示HH:mm:ss格式的当前时间:
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");
答案 2 :(得分:1)
TimeOfDay是一个TimeSpan,它只有一个没有参数的ToString()。 使用Darin's solution或来自MSDN documentation的示例用于TimeSpan.ToString()