mvc3和日期和日期名称的文化信息

时间:2011-11-27 14:40:56

标签: c#

在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。我怎样才能得到我们的日期和日期名称?

1 个答案:

答案 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()