我有一个很大的中央MySQL数据库。到目前为止,我一直在使用unix时间戳来存储日期/时间。
这一切都很好,直到几个月前,从数据库中检索到的大量数据突然丢失。我检查了数据库,它就在那里,没有改变。
我创建的应用程序精确到秒,当白天节省成本时,它通过我的应用程序关闭3599秒(一小时3600秒)
我正试图绕过时区/日光节省等等,并努力略微理解这些概念!!
我的所有PHP文件都设置为Europe/London
时区。我的数据库中的所有日期,时间等都存储为unix时间戳(整数)。
我应该将所有时间戳转换为datetime()字段类型吗?或者有没有办法避免白天节省?如果我切换到UTC,我是否需要调整任何时间戳?
非常感谢任何建议。
答案 0 :(得分:1)
您可以保持数据库中的unix时间戳不变。
您的应用程序正在将检索到的时间更改为服务器时间,在您的情况下将欧洲/伦敦更改为您知道的DST。
将您的服务器设置为UTC并开始使用DateTime类以避免将来出现这些问题。