asp.net与控制台应用程序中的日期格式

时间:2009-12-10 08:26:51

标签: .net datetime format culture

我正在将.NET应用程序部署到另一台机器上。

在控制台应用程序中,

的值
DateTime.Today.ToLongDateString();

10 December 2009

在Web应用程序中,值为

23 ذو الحجة 1430 < equivalent in higri calendar

Web应用程序如何从中获取文化,为什么它与控制台应用程序不同?

5 个答案:

答案 0 :(得分:4)

在web.config或machine.config中,您可以通过globalization元素为ASP.Net应用程序指定默认文化。

<configuration>
  <system.web>
    <globalization 
      culture="en-US"/>
  </system.web>
</configuration>

答案 1 :(得分:2)

从机器上获取它。请参阅here如何更改它。

答案 2 :(得分:2)

这可能是机器本身的文化 - 你说你正在部署到另一台机器上。

想要哪种文化?

编辑:你的选择是:

  • 设置机器本身的文化,影响整个Windows
  • 可能通常设置.NET的文化 - 我不确定它是否在machine.config中可用。这不是我做过的事。
  • 为每个页面设置文化
  • 在解析或格式化字符串时明确指定文化

说实话,最后一个是侵入性最小的。大多数方法(如String.Parse等)都有一个IFormatProvider参数的重载。您可以将其指定为相关的CultureInfo

答案 3 :(得分:1)

我得到了答案!它是可能是ASPNET或IIS的用户的注册表记录之一。通过使用regedit,我在其中一个用户中找到了international = arabic

感谢: Change Default Locale in IIS 6.0

答案 4 :(得分:0)

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
DateTime.Today.ToLongDateString();