gpt4 book ai didi

php - 如果使用 PHP 用户的时区发生更改,如何处理存储在数据库中的用户数据

转载 作者:行者123 更新时间:2023-11-29 17:40:07 25 4
gpt4 key购买 nike

如果用户将提醒通知时间准确设置为上午 8 点,那么即使他移至不同的时区,他也应该在上午 8 点准确地收到通知

我的意思是,即使之后他搬到了具有不同时区的任何其他国家/地区,他也应该在该国家/地区早上 上午 8 点 准确地收到通知。

为了发送通知,我使用在 UTC 时区e 运行的 CRON

考虑这个例子,用户的提醒时间是 IST (+5:30) 上午 8 点,我将 UTC 时间 2:30 存储到数据库中。但如果他移至 EDT (-4:00) 时区会怎样?而且我也有大量的用户数据。

考虑到我必须使用 PHP 执行该操作并且数据库是 MySQL,请提出解决方案。

最佳答案

我将通过 CRON 在服务器上执行所有通知操作。让我们想象一个简单的例子:

1) 您居住在采用 GMT+3 时区的国家 A。现在是 14:00 GMT+3。您在B 国召开 session ,时间为GMT+1

2) 您在该国家/地区的 session 时间为 16:00 GMT+1 或 18:00 GMT+3。距离 session 还有 4 个小时。

3) 您在申请中预约了 18:00 GMT+3 的 session 。服务器中的所有约会均保存为 GMT+0,因此该约会保存为 15:00 GMT+0

4) 让我们假设您传送到 session 所在国家/地区,现在时间为 12:00 GMT+1。 4 小时过去后(16:00 GMT+1、18:00 GMT+3、15:00 GMT+0),无论您更改时区,服务器仍会收到通知。由于服务器会将您的约会保存为 GMT+0,并且每隔(假设 5 分钟)检查一次 CRON 作业(如果某人的约会到期)。

另一方面,如果您想在客户端上执行检查,则应始终将客户端的日期时间转换为服务器上保存的任何格式,然后与服务器进行检查。

关于php - 如果使用 PHP 用户的时区发生更改,如何处理存储在数据库中的用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50061106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com