我有一个看起来像这样的数组
$alerts = array(
array('alert' => '04:30:30', 'zone' => 'Europe/Berlin'),
array('alert' => '04:30:30', 'zone' => 'Asia/Bangkok')
);
挑战是如何根据当地时间触发这个? 有时可能会改变加上一些大陆的夏季/冬季时间其他人不会...
答案 0 :(得分:0)
由于您已经有了很好的时区标识符,因此您应该将此数组中的每个条目转换为DateTime
对象。然后,没有必要手动计算下一次出现的时间。
获得大量DateTime对象后,对数组进行排序,使首先出现的项目位于顶部。之后,您将计算触发器未来的任何秒数以及sleep()
的长度。