在globa.asax.cs中,我使用此代码进行文化
protected void Application_BeginRequest(object sender, EventArgs e)
{
CultureInfo newCulture = new CultureInfo("sl-SI");
Thread.CurrentThread.CurrentCulture = newCulture;
Thread.CurrentThread.CurrentUICulture = newCulture;
}
但是当我写作
@DateTime.Today.DayOfWeek
我总是得到
“星期日”
而不是我们的语言
“Nedelja”
。我正在使用mvc3。我怎样才能得到我们的日期和日期名称?
答案 0 :(得分:4)
DayOfWeek
是一个枚举,枚举的ToString
值将始终只是为您提供值的名称。你需要这样的东西:
string day = newCulture.DateTimeFormat.DayNames[(int) DateTime.Today.DayOfWeek];
编辑:为了使您的视图更简单,您可能需要一种新的扩展方法:
public static class DayOfWeekExtensions
{
public static string ToCurrentCultureString(this DayOfWeek dayOfWeek)
{
// Or CurrentUICulture... I can never remember which way round they are.
var formatInfo = CultureInfo.CurrentCulture.DateTimeFormat;
return formatInfo.DayNames[(int) dayOfWeek];
}
}
然后在你看来:
@DateTime.Today.DayOfWeek.ToCurrentCultureString()