我正在创建一个应用程序,让用户创建一个带有日期的事件。例如 - 生日,2018 年 9 月 25 日。(仅询问用户日期)。我想将这些事件对象存储在我的 Postgres 数据库中。
在该日期结束时(这意味着 2018 年 9 月 25 日 23:59:59),我希望我的应用程序在该事件上设置一个标志expired = true。
我最初的想法是每隔一小时运行一个调度程序,检查事件记录,如果当前服务器时间大于存储的事件时间,则设置标志。因此,我的第一个问题是:调度程序的想法是最好的方法吗?或者它的性能可能有点差,实际上有更好的方法可以做到这一点?我之所以要每小时运行一次,是因为时区不同。总有某个地方是 23:59:59。
其他问题更侧重于存储和检查日期信息本身。我如何处理时区?假设来自美国的用户在给定日期添加了生日活动,而我的服务器位于欧洲。如何将其存储在 PostgresDB 中以及如何在调度程序中执行检查?我需要以某种方式将时区存储在数据库中,然后在 sscheduler 中检查给定时区中给定服务器时间的日期是否为 23:59:59。
请帮助,我对此感到非常困惑。举个例子就太棒了!谢谢!