5

月の最初の文字を大文字にして日付ピッカーを変更したい。

現在、スレッドで設定されたカルチャ情報を使用し、そこで形式を指定していますが、私のカルチャでは、月は常にすべて小文字です。

CultureInfo ci = new CultureInfo("es-MX");
ci.DateTimeFormat.ShortDatePattern = "ddd dd/MMM/yyyy";
Thread.CurrentThread.CurrentCulture = ci;

表示:

Dom 2012 年 8 月 19 日

そして、私はしたいと思います:

Dom 2012年8月19日

どうすればそれを変更できますか?

4

2 に答える 2

5

AbbreviatedMonthGenitiveNamesAbbreviatedMonthNames一緒に を指定するとShortDatePatternうまくいきました。

Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX")
{
    DateTimeFormat = new DateTimeFormatInfo
    {
        AbbreviatedMonthGenitiveNames = new string[] { "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", string.Empty },
        AbbreviatedMonthNames         = new string[] { "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", string.Empty },
        ShortDatePattern = "ddd dd/MMM/yyyy"
    }
};

収量:

ここに画像の説明を入力

編集:

追加する必要があります:

...
AbbreviatedDayNames = new string[] { "Dom",  "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"},

それも

于 2012-08-19T18:14:14.837 に答える
2

CultureAndRegionInfoBuilderこのクラスを使用して、既存のカルチャをコピーし、月の名前だけを変更することができます。その後、CultureInfo現在使用しているのではなく、アプリケーションでそのカルチャを使用します。

ただし、それCultureAndRegionInfoBuildersysglobl.dllアセンブリ内にあることに注意してください。これをインポートする必要があります

于 2012-08-19T17:16:33.443 に答える