托管服务器上的Datetime.now问题

时间:2013-09-20 07:02:19

标签: asp.net asp.net-mvc iis hosting

我已将我的网站托管在位于美国的服务器上,而用户目前位于印度,此网站可能会在全球范围内拥有用户。 问题是,DateTime.Now始终考虑服务器的日期时间,因此根据客户端显示错误的日期。 该站点使用MVC 4和.NET Framework 4.0开发。 什么是这种问题的最佳解决方案?

2 个答案:

答案 0 :(得分:3)

最佳解决方案是使用DateTime.UtcNow。然后,当您渲染结果时,您可以在本地区域或用户区域添加额外的小时数。

它比DateTime.Now更快,因为now调用UtcNow,并添加额外的代码以将其转换为计算机/服务器本地设置的本地时间。

通常,UtcNow是您必须用来记录所有内容的UtcNow,它的独立时间,意味着所有计算机都是相同的。然后,当您渲染结果时,您可以根据用户的本地时间更改它们。

答案 1 :(得分:0)

也许您可以使用TimeZone.CurrentTimeZone属性。 有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.timezone.currenttimezone.aspx