Kov*_*ovu 66 c# asp.net datetime cultureinfo
我有代码:
DateTime.Now.DayOfWeek.ToString()
Run Code Online (Sandbox Code Playgroud)
这给了我一周的英文日名称,我希望有德文版,如何在这里添加CultureInfo以获得德文日的名字?
Die*_*res 120
var culture = new System.Globalization.CultureInfo("de-DE");
var day = culture.DateTimeFormat.GetDayName(DateTime.Today.DayOfWeek);
Run Code Online (Sandbox Code Playgroud)
小智 13
您可以使用DateTimeFormat.DayNames
德国的财产CultureInfo
.例如:
CultureInfo german = new CultureInfo("de-DE");
string sunday = german.DateTimeFormat.DayNames[(int)DayOfWeek.Sunday];
Run Code Online (Sandbox Code Playgroud)
小智 6
这是Visual Basic中的解决方案
Dim GermanCultureInfo As Globalization.CultureInfo = New Globalization.CultureInfo("de-DE")
Return GermanCultureInfo.DateTimeFormat.GetDayName(DayOfWeek.Sunday)
Run Code Online (Sandbox Code Playgroud)
顺便说一下,解决方案的功能已经过时了
DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("de-DE"))
DayOfWeek
是一个枚举,所以ToString
它的方法不是文化敏感的。
如果您坚持使用,您将需要编写一个函数将 Enum 值转换为相应的德语字符串DayOfWeek
:
string DayOfWeekGerman(DayOfWeek dow)
{
switch(dow)
{
case(DayOfWeek.Sunday)
return "German Sunday";
case(DayOfWeek.Monday)
return "German Monday";
...
}
}
Run Code Online (Sandbox Code Playgroud)
更好的方法是直接使用ToString
from DateTime
:
CultureInfo german = new CultureInfo("de-DE");
string dayName = DateTime.Now.ToString("dddd", german);
Run Code Online (Sandbox Code Playgroud)