如何在ASP.NET中全局设置日期格式?

Bla*_*ael 56 asp.net date-format

如何在ASP.NET中全局设置日期格式?

我的本地计算机和服务器的"区域设置"设置为"英语(新西兰)".

当我格式化日期时,dd/MM/yyyy我希望以19/11/2008今天为例看到.

直到最近,这实际上是我从本地机器和服务器获得的.

就在最近,由于一些神秘的原因,我们的本地机器变得如此轻微.尽管仍然设置为"英语(新西兰)",日期分隔符已从更改/-!仍然显示"英语(新西兰)"和/日期分隔符的服务器上没有发生相同的更改.

所以现在我的本地机器,dd/MM/yyyy我得到的格式19-11-2008而不是19/11/2008.

这有点令人不安.

到目前为止,我能看到的唯一方法是逃避斜线并将格式设置为dd\/MM\/yyyy.它似乎有效,但它似乎不是理想的解决方案.

有人可以帮忙吗?

注意:这适用于Intranet应用程序,我不关心真正的全球化.我只是想修改日期格式而不是让它改变我.

CMS*_*CMS 107

您可以更改Global.asax文件中的当前线程文化,并覆盖日期格式,例如:

using System.Globalization;
using System.Threading;

//...
protected void Application_BeginRequest(Object sender, EventArgs e)
{    
  CultureInfo newCulture = (CultureInfo) System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
  newCulture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
  newCulture.DateTimeFormat.DateSeparator = "-";
  Thread.CurrentThread.CurrentCulture = newCulture;
}
Run Code Online (Sandbox Code Playgroud)

  • @Filip - 'dd-MMM-yyyy' 是有效的,并且会给出类似 '03-Jun-2016' 的日期。 (2认同)

Ser*_*pth 46

在web.config中,根据以下文档设置标记

<system.web>
    <globalization  culture="en-NZ"  uiCulture="en-NZ"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)


小智 7

一个好方法是配置Web.Config,日期格式出现在aspx的所有组件中

<system.web>    
<globalization uiCulture="en" culture="en-NZ" />
</system.web>
Run Code Online (Sandbox Code Playgroud)