【发布时间】:2014-12-27 15:22:48
【问题描述】:
我有两个 DateTime,一个在数据库中,采用相同的 php DateTime 格式:Y-m-d H:i:s。一个存储在数据库中,一个被检索。
很遗憾,第二个无法准确比较,因为存在一定的时间(小时)差异。它应该是完全相同的时间,但由于发布/更新日期只是很短的时间(小时、分钟、秒),所以知道比较必须更接近现在,因此差异使得很难进行 DateTime 比较。
示例:数据库:1999-09-06 07:00:00,检索:1999-09-06 09:00:00
我不久前存储了来自远程网站的日期时间。几个月前它有效,但当我今天尝试做同样的事情时,它失败了。
【问题讨论】:
-
请阅读:dev.mysql.com/doc/refman/5.5/en/datetime.html - 并查找时区。
-
与数据库问题无关,因为我是直接放取的。它与文本文件中的 a 相同。
-
我没有说这是数据库的问题,我只是想找出实际问题出在哪里,只是想让您了解Mysql如何处理日期和时间值的持久性。你能说出这些值有哪个时区吗:1.)在数据库中,2.)在数据库连接中,3.)哪个时区是运行的数据库服务器,4.)哪个时区是你执行 PHP 运行的 Web 服务器, 5.) 您在 php.ini 中设置的默认时区,6.) 您在 PHP 脚本中设置的默认时区和 7.) 比较时您使用的时区。 (呸!)
-
另外请发布一些代码,您如何从数据库中检索日期时间值,也许还可以发布一个屏幕截图,演示您如何检查数据库中的值(例如,如果您使用的是命令行 mysql 客户端或 phpmyadmin)(可能比我在之前的评论中要求的更容易)。