我的代码: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