我的代碼:DateTime.Now.DayOfWeek.ToString()與CultureInfo的
DateTime.Now.DayOfWeek.ToString()
,讓是我一週名稱的英文一天,我希望有德語版,怎麼在這裏添加的CultureInfo獲得這個星期的德語日?
我的代碼:DateTime.Now.DayOfWeek.ToString()與CultureInfo的
DateTime.Now.DayOfWeek.ToString()
,讓是我一週名稱的英文一天,我希望有德語版,怎麼在這裏添加的CultureInfo獲得這個星期的德語日?
var culture = new System.Globalization.CultureInfo("de-DE");
var day = culture.DateTimeFormat.GetDayName(DateTime.Today.DayOfWeek);
DayOfWeek
是一個枚舉,所以其上的ToString
方法不是文化敏感的。
你需要編寫一個函數來枚舉值轉換爲對應的字符串,在德國,如果你堅持要用DayOfWeek
:
string DayOfWeekGerman(DayOfWeek dow)
{
switch(dow)
{
case(DayOfWeek.Sunday)
return "German Sunday";
case(DayOfWeek.Monday)
return "German Monday";
...
}
}
一個更好的辦法是使用ToString
從DateTime
直接:
CultureInfo german = new CultureInfo("de-DE");
string dayName = DateTime.Now.ToString("dddd", german);
好了,我怎麼得到德國人的名字? – Kovu 2011-04-19 13:09:15
該文章提到'DateTime.ToString(String)'或'DateTime.ToString(String,IFormatProvider)'爲本地化的名稱 - 沒有必要爲它寫出一個函數。 – 2011-04-19 13:11:59
您可以使用德國CultureInfo
的DateTimeFormat.DayNames
財產。 例如:
CultureInfo german = new CultureInfo("de-DE");
string sunday = german.DateTimeFormat.DayNames[(int)DayOfWeek.Sunday];
這是在Visual Basic中
Dim GermanCultureInfo As Globalization.CultureInfo = New Globalization.CultureInfo("de-DE")
Return GermanCultureInfo.DateTimeFormat.GetDayName(DayOfWeek.Sunday)
解決方案解決方案的功能是過時的方式 DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("de-DE"))
工作得很好,非常感謝你:) – Kovu 2011-04-19 13:13:19