如何在web.config文件中更改我的asp.net网站的默认时区

时间:2013-10-08 07:38:06

标签: asp.net c#-4.0 web-config timezone

我正在尝试更改我的asp.net网站的默认时区 我尝试了以下代码,但它无法正常工作

<system.web>
<globalization culture="ar-JO" uiCulture="ar-JO" />
<httpRuntime maxUrlLength="10999" maxQueryStringLength="2097151" />
<compilation debug="true" targetFramework="4.0"/>
<customErrors mode="Off"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
<webServices>
  <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
  </protocols>
</webServices>

2 个答案:

答案 0 :(得分:19)

更改文化不会更改时区。 .NET中没有办法在每个应用程序的基础上更改时区。它只能在系统范围内进行更改。

许多服务器将其设置为UTC,但最佳做法是完全不依赖于系统时区。切勿在网络应用程序中使用DateTime.NowTimeZoneInfo.LocalDateTimeKind.Local等。

相反,请使用DateTime.UtcNowDateTimeOffset.UtcNow,或者如果您必须知道服务器的当地时间,请使用DateTimeOffset.Now

如果您需要特定用户的当地时间,则需要知道他们的时区,并使用TimeZoneInfo上的功能在该特定区域和UTC之间进行转换。

了解更多here

答案 1 :(得分:1)

您需要更改托管数据库的服务器的时区。你不能通过web.config来实现。

以UTC格式存储日期/时间是最佳做法。请参阅下面的这篇文章。

http://www.4guysfromrolla.com/articles/081507-1.aspx

希望这有帮助。

(来源:http://forums.asp.net/post/5060690.aspx