2010-08-16 68 views
1

我从Kjensen得到this answer和阅读的答案,但是这是一个不同的webapp你如何处理网站中的不同时区?

我运行处理收到的订单安排的活动,集采摘材料,管理跟踪&跟踪号码等......而我呢这在一天的特定时间(在管理面板中设置)

我的服务器在英国(DiscountAsp.net),但我提前2小时。

我真正想要的是,每次拨打电话DateTime.Now时,系统都会自动更改为我的时间而不是本地服务器时间。这也应该处理夏令时。

我曾考虑过使用Extension来简单地调用DateTime.MyLocalTime,并使用TimeInfo来增加/减少正确的小时数。

在过去的好日子里,我在Global.asa(ASP)中做了这个...我只是想知道是否有更好的方法来处理这个问题。

+0

管理时区,跨时区日期转换和夏时制时间消耗的时间更多,使我的开发生活比其他任何问题都更加悲惨。当数据在一个时区收集,存储在另一个时区,由另一个时区的网络服务器检索并在另一个时区的浏览器中显示给用户时,它变得更加“有趣”。我的心向你靠近! :) – mikemanne 2010-08-16 17:59:10

回答

7

而不是保存到一个特定的时区(IST,格林威治标准时间,EST等),我觉得它是一个不错的主意,存储为UTC。

作为UTC存储简单地消除了夏令时边界的问题 - 23小时或25小时的日子。

存储用户的时区可以根据他们的偏好或自动魔法猜测。

然后在保存和检索数据并适当显示时进行算术运算。