0
string dateFormate = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;

上記のコードを使用すると、システムの日付形式を変更するたびに、現在のシステム日付形式を取得できます。

例: yy/MM/dd のような日付形式を変更した場合。結果として同じ形式を取得できます。しかし、正しい現在の時刻形式を取得できません。システムでhh:mm ttのような日付形式を設定しても、常にh:mm ttという形式になります。

string timeFormate = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern;

次の画像は、システムの日付と時刻の形式を変更できる場所を示しています。

ここに画像の説明を入力

4

3 に答える 3

0

試す

 DateTime result;


 if (DateTime.TryParse("31/1/2010", System.Globalization.CultureInfo.GetCultureInfo("en-gb"), 
        System.Globalization.DateTimeStyles.None, out result))
            MessageBox.Show(result.ToShortDateString());    
    else
            MessageBox.Show("Not in Great Britain format");    

en-gb を en-us に変更します。変更を実行中の appdomain に永続的に適用する場合は、System.Globalization.CultureInfo.CurrentCulture を en-us の GetCulture に割り当てます。

次のコードは、コンピューターで ShortDateFormat を返します。

MessageBox.Show(Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern)

試していない、参照のみ

参照: http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.datetimeformat.aspx

参照: http://social.msdn.microsoft.com/Forums/windows/en-US/01ecfe69-519f-400e-b08b-fa8979a7409e/how-to-detect-datetime-format-on-computer

カルチャを識別する LCID については、次のリンクを使用してください: http://msdn.microsoft.com/en-us/library/0h88fahh(VS.85).aspx

ありがとう

于 2013-07-18T15:37:07.370 に答える
0

CultureInfo からさまざまなカルチャを試しました。InstalledUICulture のみが OS 設定の変更を取得するという結論に達しました。ただし、Windows 7 Proで試しました。

CultureInfo.InstalledUICulture で動作しますか?

于 2013-07-18T15:48:31.623 に答える
0

MSDN から

http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.shorttimepattern.aspx

/*
This code produces the following output.

 CULTURE    PROPERTY VALUE
  en-US     h:mm tt
  ja-JP     H:mm
  fr-FR     HH:mm

*/

スクリーンショットのように、ShortTimePattern は en-US カルチャに h:mm tt を与えることが言及されています。

それがあなたが行動を起こす理由です。

于 2013-07-18T15:56:42.220 に答える