托管服务器上的DateTime格式

时间:2008-11-03 02:19:59

标签: c# asp.net datetime

我最近切换了我的托管服务提供商,由于服务器现在所在的时区,我的代码已停止工作。

托管服务器在太平洋时间报告,但是,我的代码需要与GMT合作,因为我的网站是针对英国市场的。因此,我的所有显示和搜索都必须采用dd / MM / yyyy

格式

我如何解释差异?

例如,当我执行DateTime.Parse(“03/11/2008”)时,它会失败,因为我认为'Parse'是针对服务器设置的。我也得到“字符串未被识别为有效的DateTime”。在我的代码中。

4 个答案:

答案 0 :(得分:7)

在您的web.config文件中,在<globalization> node:

下添加<system.web>元素
<system.web>
  <globalization culture="en-gb"/>
  <!-- ... -->
</system.web>

答案 1 :(得分:3)

尝试

DateTime.Parse("28/11/2008", new CultureInfo("en-GB"))

看看the overload for DateTime.Parse on MSDN

另外,请注意不要将时区(太平洋,格林尼治标准时间)与文化混淆。 文化是你在这里的实际问题。

答案 2 :(得分:1)

为了避免处理这些非常无聊的问题,我建议您始终按照标准和唯一的SQL / ISO日期格式YYYY-MM-DD解析数据。您的查询将在国际上运行,无论主服务器或查询客户端上的日期参数如何(本地日期设置可能与主服务器设置不同)!

答案 3 :(得分:0)

我遇到了上述问题无法解决的问题。所以也许这可以帮助别人不要撕掉所有的头发..

我在日期文本框中的新服务器上安装了NaN-NaN-Nan。发现新服务器具有Internet Explorer选项&#34;在Compability Mode&#34;中显示Intranet站点。 这里的解决方法是放

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" / >

在aspx的头部强制关闭兼容模式。

这解决了很多奇怪的事情。 希望这有助于某人!