如何在多个本地时区的php中触发时间事件

时间:2017-11-09 06:36:34

标签: php timezone

我有一个看起来像这样的数组

$alerts = array(
  array('alert' => '04:30:30', 'zone' => 'Europe/Berlin'),
  array('alert' => '04:30:30', 'zone' => 'Asia/Bangkok')
);

挑战是如何根据当地时间触发这个? 有时可能会改变加上一些大陆的夏季/冬季时间其他人不会...

1 个答案:

答案 0 :(得分:0)

由于您已经有了很好的时区标识符,因此您应该将此数组中的每个条目转换为DateTime对象。然后,没有必要手动计算下一次出现的时间。

获得大量DateTime对象后,对数组进行排序,使首先出现的项目位于顶部。之后,您将计算触发器未来的任何秒数以及sleep()的长度。