在我的网站中,用户A创建一个从上午9:00开始的活动。我将该时间转换为GMT,以便如果用户B在两个小时前的不同时区看到该事件,则可以将其转换为用户B的时区并显示该事件在上午11:00开始。
我的问题是,如果用户A在夏令时期间创建了一个事件,那么当夏令时超过时区时,会查看该事件的偏差将会减少一个小时。这导致事件从上午8:00开始,当时不是夏令时,而上午9:00是夏令时。有关如何使用javascript或php修复此问题的任何建议吗?
我唯一想到的是当我得到如下所示的时区偏移时,我是否应该始终将日期设置为1月,以便无论实际月份如何,我总是得到相同的时区偏移量?或者有更好的方法来解决这个问题吗?
d = new Date();
d.setMonth(1);
d.getTimezoneOffset()
答案 0 :(得分:0)
getTimezoneOffset
返回的时区偏移量表示上调用方法的日期,而不是当前时间。因此,只需要总是询问您正在展示的活动的时区,您应该没问题。
但是,请注意,如果您正在安排重复发生的事件,则需要将时间存储和处理为本地时间而不是通用时间。否则,每当夏令时开始或结束时,会议时间将跳一小时。