簡単な問題があります: asp:label に次の形式で日付を書きたい: MMM dd, yyyy 私はこれを試しました:
lblDate.Text = System.DateTime.Today.ToString("MMM dd, yyyy");
結果は「2012 年 12 月 12 日」です。
- そこからドットを削除したい。
- 月の名前は大文字で始める必要があります。
正しい形式: "Okt 12, 2012"
これどうやってするの?
これにはAbbreviatedMonthNamesプロパティを使用できます。
CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");
DateTimeFormatInfo dtfi = ci.DateTimeFormat;
dtfi.AbbreviatedMonthNames = new string[]
{
"Jan", "Feb", "Mar",
"Apr", "May", "Jun",
"Jul", "Aug", "Sep",
"Oct", "Nov", "Dec", ""
};
lblDate.Text = DateTime.Now.ToString("MMM dd, yyyy", dtfi);
その後、出力はOkt 12, 2012
DateTime.ToString()
現在のカルチャで定められた規則に従って日付をフォーマットします。@naspinski によって示されている手法を使用して手動で変更できますが、カルチャ固有の設定によっては、アプリケーションの他のユーザーが異なる結果を得る可能性があります。たとえば、一部のカルチャでは、"12.10.2012" のように日付の区切り記号としてドットが使用されます。Windows のコントロール パネルで地域設定を変更して、好きなように書式設定できます。
これを手動で行う方法:
string dt System.DateTime.Today.ToString("MMM dd, yyyy")Replace(".","");
if(dt.length>0) dt = dt.SubString(0,1).ToUpper() + dt.SubString(1, dt.Length - 1);
lblDate.Text = dt;