0

我想为 UTC 时间创建单个 cron 作业,并根据他们的时区时间向用户发送通知。

4

1 回答 1

0

您可以按照以下步骤向用户的时区发送通知。

  1. 创建一个 Cronjob(根据您的要求设置间隔)
  2. 现在获取所有用户记录。
  3. 获取每个用户的时区。
  4. 现在,将您的日期时间转换为用户的时区。
  5. 将您的当前时间与用户的时区时间相匹配
  6. 如果时间根据用户的时区匹配,则仅向该用户发送通知。

已更新,例如,用户的时区 GMT +530,而您的服务器的时区 GMT 为 0,那么如果您获得通知时间为下午 4:30 的用户记录,同时您的服务器时间为上午 11:00。现在 cronjob 在上午 11:00 运行,根据该用户时区,您需要在当前时间添加 5:30 小时,因此上午 11:00 + 5:30 = 下午 4:30(请注意日期)是您用户的时间,在这种情况下,您可以向他发送通知。

如果您不想为每分钟设置 cron,那么您可以设置边际分钟进行检查。假设您的 cron 每 10 分钟运行一次,那么您必须检查条件,例如converted_time >= 4:20 and converted_time < 4:30. (记住这里的>=and<组合)

于 2017-02-23T10:55:27.493 回答