我有一个系统可以生成报告并向用户发送电子邮件。
用户可以选择他们希望报告发送的时间,我将他们所需的时间存储在mysql中。
服务器以GMT / UTC运行,我也将其请求的报告时间以GMT / UTC格式存储在数据库中。
当他们选择他们想要离开网页的时间时,我会转换PHP时区(例如Asia / Hong_Kong或America / Chicago)并将他们想要的报告时间保存到GMT / UTC的mysql中。
然后我查询数据库并在他们要求的时间发送他们的报告。这样做很好,直到......夏令时开始。
当然并非每个地方都有夏令时,并非每个地方都按相同的分钟数进行调整,而不是每年在同一天调整,而且并非所有地方都在同一天调整。
如何计算正确的时间,因此系统全年都是正确的?
我使用PHP来存储时区并在mysql中存储日期/时间,所以这些是我可用的两个工具。