检测12/24小时时间显示设置

时间:2012-01-06 20:51:01

标签: c# windows-phone-7

在手机中选择某些区域格式时,您可以在日期+时间选择一个选项,您可以选择是否应以24小时格式显示时间。

有没有办法可以阅读该设置?我想在我的应用中根据此设置显示时间吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

使用此链接也可以从C#|下载所有类型VB Windows智能手机代码    Globalization Code and Downloads

此链接是MSDN下载还应该帮助您解决其他问题,如果您正在为Windows智能手机编码

 // set this thread's current culture to the culture associated with the selected locale
            CultureInfo newCulture = new CultureInfo(cul);
            Thread.CurrentThread.CurrentCulture = newCulture;

            CultureInfo cc, cuic;
            cc = Thread.CurrentThread.CurrentCulture;
            cuic = Thread.CurrentThread.CurrentUICulture;

            // display the culture name in the language of the selected locale
            regionalFrmt.Text = cc.NativeName;

            // display the culture name in the localized language
            displayLang.Text = cuic.DisplayName;

            // display the date formats (long and short form) for the  current culuture  
            DateTime curDate = DateTime.Now;
            longDate.Text = cc.DateTimeFormat.LongDatePattern.ToString() + " " + curDate.ToString("D");
            shortDate.Text = cc.DateTimeFormat.ShortDatePattern.ToString() + "   " + curDate.ToString("d");

            // display the time format (long form) for the current culture
            longTime.Text = cc.DateTimeFormat.LongTimePattern + "   " + curDate.ToString("T");

答案 1 :(得分:0)

根据DateTimeFormatInfo documentation,"当时钟设置为24小时时,DateTimeFormatInfo.ShortTimePattern值不会改变。属性值应该变为" h:mm"但仍然是" h:mm tt"其中tt是AM或PM。"

看起来这是一个错误,希望在WindowsPhone8中得到修复。

无论如何,要回答你的问题......你可以使用这个:

string pattern = CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern.Replace(":ss", "");

这取自Silverlight Toolkit