2012-10-12 70 views
2

我有一個簡單的問題:我想要寫一個asp的日期:按以下格式標籤: MMM DD,YYYY 我嘗試這樣做:DateTime格式

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

結果是: 「okt。12,2012」

  1. 我想從中刪除點。
  2. 本月的名字應該以大寫字母開頭。

正確的格式爲: 「十月12,2012」

我該怎麼辦呢?

+1

''與string.replace( 「」 「」)? – Oded

+0

你在什麼文化下運行? – Oded

回答

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

+1

這比我們接受的答案要好得多。 –

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; 
2

DateTime.ToString()根據載於當前區域性的規則格式化的日期。您可以使用@naspinski顯示的技術手動更改它,但其他應用程序用戶可能會得到不同的結果,具體取決於他們的文化特定設置。例如,有些文化用點作爲日期分隔符,如「12.10.2012」中所示。您可以在Windows控制面板中更改您的區域設置,以設置您喜歡的格式。