代码之家  ›  专栏  ›  技术社区  ›  BlackMael

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

  •  66
  • BlackMael  · 技术社区  · 18 年前

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

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

    当我用以下格式设置日期时 dd/MM/yyyy 我希望看到 19/11/2008 以今天为例。

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

    就在最近,出于某种神秘的原因,我们的本地机器发生了如此微小的变化。尽管仍设置为“English(New Zealand)”,但日期交货日期已从 / 向 - !仍然显示“English(New Zealand)”和 / 对于日期交付者。

    现在,对于我的本地机器,对于格式 日/月/年 我明白了 19-11-2008 而不是 19/11/2008 .

    这有点令人不安。

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

    有人能帮忙吗?

    注意:这是针对内联网应用程序的,我不关心真正的全球化。我只是想修正日期格式,不要让它改变我。

    6 回复  |  直到 18 年前
        1
  •  112
  •   Christian C. Salvadó    18 年前

    您可以在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;
    }
    
        2
  •  53
  •   user3340627 Serapth    11 年前

    在web.config中,按照以下方式设置标记 the following documentation

    <system.web>
        <globalization  culture="en-NZ"  uiCulture="en-NZ"/>
    </system.web>
    
        3
  •  8
  •   cmujica    13 年前

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

    <system.web>    
    <globalization uiCulture="en" culture="en-NZ" />
    </system.web>
    
        4
  •  4
  •   labilbe    11 年前

    您可以设置您的文化而无需操纵:

    
    using System.Globalization;
    using System.Threading;
    
    

    //... protected void Application_BeginRequest(Object sender, EventArgs e) {
    Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-NZ"); }

        5
  •  3
  •   Community Mohan Dere    9 年前

    这是一篇旧文章,但我认为在这里提及它可能会有所帮助,我的问题类似于OP所问的问题,但解决方案是在IIS中更改了文化,而不是从控制面板更改了文化。

    IIS有自己的区域性选择,默认情况下将遵循本地计算机区域性。但由于某种原因,它被改变为一种不同的文化,我开始得到那些奇怪的日期格式。

    您可以查找更多答案 here .

        6
  •  0
  •   jkchong    17 年前

    对于格式字符串,格式字符/实际上并不像您所期望的那样解析为文字“/”。相反,它会解析为您在区域设置中配置的当前日期时间分隔符。尝试更改DateTimeFormatInfo。DateSeparator属性。

    有关更多信息,请参阅: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

    推荐文章