更改剃刀的默认DateTime格式

时间:2013-07-30 07:06:09

标签: c# asp.net-mvc datetime razor datetime-format

有没有办法可以将所有DateTime对象的默认格式更改为例如Razor中的“dd.MM.yyyy”?

我想介绍程序员忘记调用扩展方法或传递格式字符串的情况,即<p>@Model.MyDateTimeObject</p>

1 个答案:

答案 0 :(得分:4)

Razor 中没有默认格式。执行此操作时:<p>@Model.MyDateTimeObject</p> Razor将使用默认的DateTime.ToString重载来打印日期。

这适用于实际的文化信息,例如,如果您希望将您的示例作为默认的ToString行为,那么您应该更改实际请求的当前文化。例如。在global.asax:

protected void Application_BeginRequest()
{
    CultureInfo culture = (CultureInfo)CultureInfo.InvariantCulture.Clone();
    culture.DateTimeFormat.ShortDatePattern = "dd.MM.yyyy";
    culture.DateTimeFormat.LongTimePattern = "";
    Thread.CurrentThread.CurrentCulture = culture;
}