2

簡単な問題があります: asp:label に次の形式で日付を書きたい: MMM dd, yyyy 私はこれを試しました:

lblDate.Text = System.DateTime.Today.ToString("MMM dd, yyyy");

結果は「2012 年 12 月 12 日」です。

  1. そこからドットを削除したい。
  2. 月の名前は大文字で始める必要があります。

正しい形式: "Okt 12, 2012"

これどうやってするの?

4

3 に答える 3

6

これには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

于 2012-10-12T19:42:07.410 に答える
2

DateTime.ToString()現在のカルチャで定められた規則に従って日付をフォーマットします。@naspinski によって示されている手法を使用して手動で変更できますが、カルチャ固有の設定によっては、アプリケーションの他のユーザーが異なる結果を得る可能性があります。たとえば、一部のカルチャでは、"12.10.2012" のように日付の区切り記号としてドットが使用されます。Windows のコントロール パネルで地域設定を変更して、好きなように書式設定できます。

于 2012-10-12T19:40:52.003 に答える
1

これを手動で行う方法:

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;
于 2012-10-12T19:35:44.580 に答える