我想为 UTC 时间创建单个 cron 作业,并根据他们的时区时间向用户发送通知。
问问题
152 次
1 回答
0
您可以按照以下步骤向用户的时区发送通知。
- 创建一个 Cronjob(根据您的要求设置间隔)
- 现在获取所有用户记录。
- 获取每个用户的时区。
- 现在,将您的日期时间转换为用户的时区。
- 将您的当前时间与用户的时区时间相匹配
- 如果时间根据用户的时区匹配,则仅向该用户发送通知。
已更新,例如,用户的时区 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 回答