0

コンピューターの時刻形式が12時間24時間かをテストする関数を作ろうとしています。現在、私はこの機能を持っています:

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

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

しかし、この機能には問題があります。フォーマットを12時間に変更し、アプリを初めて実行すると、フォーマットが24時間(以前)であることが通知されます。そして、もう一度実行すると、フォーマットが12hであることがわかります。問題は、2回目の実行後にアプリが正しい答えを教えてくれることです。2回目ではなく、1回目の実行で正しくテストする関数が必要です。

この関数はForm1_Load、フォームの読み込みをテストするために使用されます。

4

1 に答える 1

0

CultureInfo は 24 時間のブール値をサポートする必要がありますが、そうではありません。ただし、これにより、システムが午前/午後の記号を表示しているかどうかがわかります。

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