Php 使用strotime问题比较两个日期,因为该年已更改

Php 使用strotime问题比较两个日期,因为该年已更改,php,timestamp,strtotime,Php,Timestamp,Strtotime,你好,我有这个密码 if ((date('m/d/Y' , $row->dates)) <= (date('m/d/Y', strtotime("-3 day"))) ) if((日期('m/d/Y',$row->dates))并查看今天的日期是否比数据库中的日期长3天以上 从2012年到2013年,这一切都是完美的。对于包含2012年的拉取日期,它现在总是满足else条件,而2013年的日期现在可以完美地工作 存储在数据库中的日期采用unix时间戳格式ie 1351141261

你好,我有这个密码

if  ((date('m/d/Y' , $row->dates)) <= (date('m/d/Y', strtotime("-3 day"))) )
if((日期('m/d/Y',$row->dates))并查看今天的日期是否比数据库中的日期长3天以上

从2012年到2013年,这一切都是完美的。对于包含2012年的拉取日期,它现在总是满足else条件,而2013年的日期现在可以完美地工作

存储在数据库中的日期采用unix时间戳格式ie 1351141261


我不太清楚我在比较这两个日期时哪里出错了。很明显,年份部分有些东西把事情搞砸了。有人能帮忙吗?

为什么要将日期转换为字符串

$row->dates <= strtotime('-3 days')

$row->dates为什么要将日期转换为字符串

$row->dates <= strtotime('-3 days')

$row->dates作为时间戳而不是格式化字符串进行比较

问题是它们的震级不是从最高到最低的

例如,如果格式化为
Y-m-d
,则顺序实际上是正确的


(从技术上讲,PHP以字典形式比较字符串。)

比较时间戳而不是格式化字符串

问题是它们的震级不是从最高到最低的

例如,如果格式化为
Y-m-d
,则顺序实际上是正确的


(从技术上讲,PHP以字典形式比较字符串。)

为什么不使用MySQL的内置函数呢

SELECT randomdate WHERE randomdate >= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

为什么不使用MySQL的内置函数来实现呢

SELECT randomdate WHERE randomdate >= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

为什么不在db select中执行此操作?为什么不让数据库执行比较?编辑:该死,Dagon打败了我。dragon也打败了我……太快了为什么不在db select中执行此操作?为什么不让数据库进行比较?编辑:该死,达贡打败了我。龙也打败了我……太快的日期加负片有点让人困惑。日期如何?减去,或者只需:
选择randomdate,其中randomdate>=CURDATE()-间隔3天我其实不知道你可以这样做,我总是用date\u add。谢谢你的教训!日期添加负片有点混乱。日期如何?减去,或者只需:
选择randomdate,其中randomdate>=CURDATE()-间隔3天我其实不知道你可以这样做,我总是用date\u add。谢谢你的教训!