繁体   English   中英

如何使用夏令时处理时区偏移?

[英]How to handle Timezone offset with daylight savings?

用户A在我的网站中创建了一个从9:00 am开始的事件。 我将该时间转换为GMT,以便如果用户B在不同时区的两个小时之前看到了该事件,则可以将其转换为用户B的时区,并显示该事件在11:00 am开始。

我的问题是,如果用户A在夏令时期间创建事件,然后在夏令时结束时查看该事件,则时区偏移量将减少一小时。 如果不是夏令时,则导致事件从8:00 am开始,如果是夏令时,则导致9:00 am开始。 关于如何使用javascript或php解决此问题的任何建议?

我唯一的想法是,当我获得如下所示的时区偏移时,是否应始终将日期设置为一月,这样无论实际月份是什么,我都始终获得相同的时区偏移? 还是有更好的方法来解决这个问题?

d = new Date();
d.setMonth(1);
d.getTimezoneOffset()

getTimezoneOffset返回的时区偏移量是在方法被调用的日期 ,而不是当前时间。 因此,始终询问您要显示的事件的时区,就可以了。

但是,请注意,如果您要安排重复事件,则需要将时间存储为本地时间,而不是通用时间。 否则,无论夏令时开始或结束,会议时间都会跳一个小时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM