有没有办法可以将所有DateTime对象的默认格式更改为例如Razor中的“dd.MM.yyyy”?
我想介绍程序员忘记调用扩展方法或传递格式字符串的情况,即<p>@Model.MyDateTimeObject</p>
。
答案 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;
}