php 比较日期时间和小时变化


php Compare datetime with hours variation

我有两个DateTime,一个在数据库中,格式相同:y-m-d H:i:s。一个存储在数据库中,一个被检索。

不幸的是,第二个不能完全比较,因为有一定的时间(小时)差异。它应该是完全相同的时间,但这种差异使得很难进行日期时间比较,因为比较必须精确到现在,因为发布/更新日期是短时间(小时、分钟、秒)的问题。

示例:数据库:1999-09-06 07:00:00

,检索:1999-09-06 09:00:00

不久前,我从遥远的网站上存储了日期时间。几个月前它奏效了,但当我今天尝试做同样的事情时,它失败了。

看起来网络服务器的时区与您的本地时间不同。您可以手动设置日期时间类的时区。http://php.net/manual/de/datetime.settimezone.php

如果时差始终相同,则只需更改一个值,然后再进行比较。在 PHP 中,你可以用 strtotime() 减去 2 小时来轻松做到这一点。在MySQL(或任何其他数据库系统)中也可以通过使用SELECT date_column + INTERVAL 2 HOUR:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add 来完成相同的操作。