0

我正在尝试制作一个测试计算机时间格式是12h还是24h的函数。目前我有这个功能:

string format = DateTime.Now.ToString("tt");

if (format == "AM" || format == "PM")
{
    //12h
}
else
{
    //24h
}

但是这个功能有问题。如果我将格式更改为12h并且我第一次运行该应用程序,它会告诉我格式是24h(之前的格式)。在我再次运行它之后,它会告诉我格式是12h。问题是该应用程序在第二次运行后告诉我正确答案。我需要一个能够正确测试的函数赢得了第一次运行,而不是第二次运行。

该功能将Form1_Load用于测试表单加载。

4

1 回答 1

0

CultureInfo should support the 24 hour boolean, but thats not the case. However this will tell you if the system is displaying the am/pm symbol:

bool is12hr =  CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("t");
于 2012-09-07T11:00:46.203 回答