我需要使用c#在WinRT应用中获取当前时间格式。我使用GeographicRegion来获取该区域,它只会告诉我们位置而不是格式。但通常我们只是更改格式以更改系统的日期时间格式。
请帮助我找到我们如何确切地知道格式,因为它总是将“en-US”(默认语言)归还给我。
答案 0 :(得分:0)
这显示了如何获取当前UI文化的长时间模式(格式),指定的(波兰语)文化,获取指定文化的默认格式的当前时间以及指定的模式:
Debug.WriteLine(CultureInfo.CurrentUICulture.DateTimeFormat.LongTimePattern);
Debug.WriteLine(new CultureInfo("pl-pl").DateTimeFormat.LongTimePattern);
Debug.WriteLine(DateTime.Now.ToString(new CultureInfo("pl-pl")));
Debug.WriteLine(DateTime.Now.ToString(new CultureInfo("pl-pl").DateTimeFormat.ShortTimePattern));
这些是产出:
H:mm:ss
HH:mm:ss
2013-01-30 08:21:09
08:21
答案 1 :(得分:0)
Windows.Globalization.ApplicationLanguages.Languages中的顶级语言会告诉您应用程序运行的语言。
您不必这样做,但在构建Windows.Globalization.DateTimeFormatter并且不提供语言时,这些语言是默认语言。
如果您想知道格式是什么而不实际呈现特定时间,请使用Patterns属性。