C# 确定是否;24小时制”;设置已设置

C# 确定是否;24小时制”;设置已设置,c#,windows-phone-7,windows-phone-7.1,C#,Windows Phone 7,Windows Phone 7.1,确定用户是否已在Windows Phone上的“设置日期+时间”中将“24小时时钟”设置设置为true的最佳方法是什么 我可以通过CurrentCulture(CultureInfo)获取此信息吗?我没有找到它。获取小时的方法与区域性相关,而与显示是否启用24小时时间的选项无关。因此,对于英语(美国)和HH:mm德语(德国),您将获得h:mm tt 此时,您无法获得此系统设置。在Dennis的回答后面,您应该能够使用字符串确定24小时时间。包含: bool is24HourTime = Date

确定用户是否已在Windows Phone上的“设置日期+时间”中将“24小时时钟”设置设置为true的最佳方法是什么


我可以通过CurrentCulture(CultureInfo)获取此信息吗?我没有找到它。

获取小时的方法与区域性相关,而与显示是否启用24小时时间的选项无关。因此,对于英语(美国)
HH:mm
德语(德国),您将获得
h:mm tt


此时,您无法获得此系统设置。

在Dennis的回答后面,您应该能够使用
字符串确定24小时时间。包含

bool is24HourTime = DateTimeFormatInfo.CurrentInfo.ShortTimePattern.Contains("H");

对于日本开发者,请注意


区域性中的
DateTimeFormatInfo.CurrentInfo.ShortTimePattern
将返回相同的字符串
H:mm
,无论是否启用了24小时时间的电话设置。

可以使用以下方法检索系统时钟类型:

string clockType = Windows.System.UserProfile.GlobalizationPreferences.Clocks.FirstOrDefault();

如果设备设置中的24小时设置为on,则返回字符串
24hourlock
;如果设置为off,则返回字符串
12hourlock

您可以在时间模式中查找
H
。但我想应该有更好的选择。这与设置不符。。。就文化而言。事实上,所有文化的行为都是如此。