如果用户恰好在8 AM
设置了提醒通知时间,即使他移动到其他8 AM
,他也应该在timezone
准确地收到通知。
我的意思是,如果他移居到任何其他具有不同时区的国家,那么他应该在那个国家的早晨8 AM
准确地收到通知。
要发送通知,请使用CRON
中运行的UTC timezon
。
考虑此示例,用户的提醒时间是IST (+5:30)
中的上午8点,我将2:30
以UTC格式存储到数据库中。但是如果他搬到EDT (-4:00)
时区那该怎么办?但是我也有大量的用户数据。
请考虑我必须使用PHP执行该操作并且数据库为MySQL
,建议解决方案。
答案 0 :(得分:0)
我会通过CRON
在服务器上执行所有通知操作。让我们想象一个简单的例子:
1)您居住的是国家/地区,其时区为GMT+3
。现在是14:00 GMT+3
。您在国家/地区B 中的会议位于GMT+1
。
2)您在这个国家的会议是16:00 GMT+1 or 18:00 GMT+3
。再过4个小时,直到会议开始。
3)您在申请中预约了18:00 GMT+3
的会议。服务器中的所有约会都保存为GMT+0
,因此此约会保存为15:00 GMT+0
。
4)让我们想象你传送到会议的国家,时间现在是12:00 GMT+1
。经过4个小时(16:00 GMT+1, 18:00 GMT+3, 15:00 GMT+0
)后,无论您的时区发生什么变化,服务器都会通知您。由于服务器将您的约会保存为GMT + 0,并且每次都会检查CRON
个工作,比如5分钟,如果有人预约到期。
另一方面,如果您想在客户端上执行检查,则应始终将客户端的日期时间转换为服务器上保存的任何格式,并与服务器核对。