如何在ASP.NET中全局设置日期格式?
我的本地计算机和服务器的"区域设置"设置为"英语(新西兰)".
当我格式化日期时,dd/MM/yyyy
我希望以19/11/2008
今天为例看到.
直到最近,这实际上是我从本地机器和服务器获得的.
就在最近,由于一些神秘的原因,我们的本地机器变得如此轻微.尽管仍然设置为"英语(新西兰)",日期分隔符已从更改/
为-
!仍然显示"英语(新西兰)"和/
日期分隔符的服务器上没有发生相同的更改.
所以现在我的本地机器,dd/MM/yyyy
我得到的格式19-11-2008
而不是19/11/2008
.
这有点令人不安.
到目前为止,我能看到的唯一方法是逃避斜线并将格式设置为dd\/MM\/yyyy
.它似乎有效,但它似乎不是理想的解决方案.
有人可以帮忙吗?
注意:这适用于Intranet应用程序,我不关心真正的全球化.我只是想修改日期格式而不是让它改变我.
您可以更改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; }
在web.config中,根据以下文档设置标记
一个好方法是配置Web.Config,日期格式出现在aspx的所有组件中