调度和夏令时

Gav*_*ulz 8 php time timezone calendar utc

我正在用PHP编写日历/日程安排应用程序.现在,我采取您希望事件发生的那一天和时间.我还要求时区并相应调整以获得GMT的活动时间.

然后我将该时间存储为从节目当天午夜开始的偏移量.这很好,效果很好,但是当我达到夏令时时会发生什么?当发生这种情况时,我不确定该怎么做.另一个问题是,并非所有国家都有DST,所以我有点在那里.

我在日历上显示这些事件,因此时机非常重要.

Car*_*rra 3

处理 DST 确实很痛苦。

对于未来的事件,您应该存储事件发生的位置和当地时间,而不是 GMT 时间。这是因为有时政府会在夏令时开始和停止时发生变化(去年美国刚刚发生过这种情况),然后事件会在格林尼治标准时间发生变化,但不会在当地时间发生变化。

然后,如果您需要在事件发生时发出通知,请每天收集接下来 24-48 小时的事件,然后将其时间转换为 GMT。为此,您需要一个像这样的位置时区数据库。获取事件发生时每个位置的 GMT 偏移量,并使用该偏移量将时间转换为 GMT,然后您就可以准确知道事件发生的时间。