确定是否设置了“24小时制”设置
确定用户是否在Windows Phone的“设置 – 日期+时间”中将“24小时制”设置设置为true的最佳方法是什么?
我可以通过CurrentCulture(CultureInfo)获取此信息吗? 找到它我没有运气。
可以使用以下方法检索系统时钟类型:
string clockType = Windows.System.UserProfile.GlobalizationPreferences.Clocks.FirstOrDefault();
如果24小时设置在设备设置中打开,则返回字符串24HourClock
如果设置24HourClock
则返回24HourClock
。
获取小时的DateTimeFormatInfo.CurrentInfo.ShortTimePattern
方式与文化相关联,而不是显示是否启用24小时时间的选项。 因此,您将获得英语(美国)的 h:mm tt
和德语(德国)的 HH:mm
。
此时,您无法获得此系统设置。
在Dennis回答的背后,您应该能够使用String.Contains
确定24小时的时间:
bool is24HourTime = DateTimeFormatInfo.CurrentInfo.ShortTimePattern.Contains("H");
对于日本开发者,请注意。
无论24小时时间的电话设置是否启用,文化ja-JP
中的DateTimeFormatInfo.CurrentInfo.ShortTimePattern
都将返回相同的字符串H:mm
。