我顯示月份名稱如下:C#首先monthletter在大寫
String.Format("{0:MMMM}", DateTime.Now)
然而,在使用瑞典當所有月份名稱是小寫。
格式化日期時,是否有一些簡潔的把第一個字母大寫的技巧?或者我必須爲它編寫一個函數?
我顯示月份名稱如下:C#首先monthletter在大寫
String.Format("{0:MMMM}", DateTime.Now)
然而,在使用瑞典當所有月份名稱是小寫。
格式化日期時,是否有一些簡潔的把第一個字母大寫的技巧?或者我必須爲它編寫一個函數?
這裏有已經有一些很好的答案。如果你想有一個功能,你可以寫:
char.ToUpper(s[0]) + s.Substring(1);
改爲使用TextInfo.ToTitleCase()。 – 2011-03-29 12:26:00
有各種解決方案;這個問題的答案有一些很好的答案。
how to uppercase date and month first letter of ToLongDateString() result in es-mx Culture?
我建議克隆文化,它重新定義了新的月份名稱:
var swedish = CultureInfo.GetCultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.DateTimeFormat.MonthNames =
swedish.DateTimeFormat.MonthNames
.Select(m => swedish.TextInfo.ToTitleCase(m))
.ToArray();
swedish.DateTimeFormat.MonthGenitiveNames =
swedish.DateTimeFormat.MonthGenitiveNames
.Select(m => swedish.TextInfo.ToTitleCase(m))
.ToArray();
,然後在string.Format
方法使用它:
// date holds "Mars"
var date = String.Format(swedish, "{0:MMMM}", DateTime.Now);
要使月份大寫,我使用TextInfo.ToTitleCase
方法。
不錯!這對我來說非常有用,因爲我需要在代碼中多次使用幾個月,所以使用Substring會非常煩人。 – 2013-09-09 14:35:08
瑞典月份名稱中的ToUpper()....... – kenny 2011-03-29 12:00:40
是全部小寫的。爲什麼你不想使用不同的格式?它是否是句子中的第一個單詞?在這種情況下,它不再是日期格式... – vidstige 2011-03-29 12:02:04
「如果日期出現在句子的開頭,它不是日期格式。」你如何解決這個問題? – Stewart 2015-03-25 18:11:01