javascript - PHP 比较两个日期

标签 javascript php html date

我有两个 YYYY-MM-DD 格式的日期,我想比较它们是否完成了一些任务。

我试过这段代码:

         $temp_date = strtotime($cu['date']);
         $temp_upto = strtotime($upto_date);

         if($temp_date <= $temp_upto){
            echo "<tr id='highlight'>"; 
        }else{
            echo "<tr>";
            }

$cu 是一个数组,包含相同格式的日期。这是在 php 中比较日期的正确方法吗? 我得到的输出很奇怪!我没有发布完整的代码,因为它太长而且与这个问题无关。 谢谢!

更新:这就是我想要做的。我有很多正常日期,如果正常日期小于或等于最新日期,我有一个最新日期,那么我想将 id="highlight"添加到 .为了我的代码的其他目的,整个事情都在一个循环中。

我这样回应日期:

 echo "DATE: " . $temp_date + " UPTO: " . $upto_date;

输出是这样的

DATE: 1349042400 UPTO: 00-00-0000
DATE: 1349388000 UPTO: 00-00-0000
DATE: 1352588400 UPTO: 00-00-0000
DATE: 1352761200 UPTO: 00-00-0000
DATE: 1353193200 UPTO: 00-00-0000
DATE: 1353366000 UPTO: 1353193200
DATE: 1354143600 UPTO: 1353193200
DATE: 1354662000 UPTO: 1353193200

仍然没有进行比较。我没有看到任何变化!

建议的人已经回答了问题,我已经阅读并实现了其中大部分但没有成功。

更新 2:虽然我仍在努力解决我的问题。我想在这里分享扩展的代码片段 http://pastebin.com/nsVGV9dg

最佳答案

不,这是不对的。您正在比较两个日期字符串。您想比较时间戳:

$temp_dateTS = strtotime($cu['date']);
$temp_uptoTS = strtotime($upto_date);

if ($temp_dateTS <= $temp_uptoTS) {
    # code...
}

如果您使用 DateTime 类,这也是可能的(并且更好):

$temp_date = new DateTime($cu['date']);
$temp_upto = new DateTime($upto_date);

if ($temp_date <= $temp_upto) {
    # code...
}

关于javascript - PHP 比较两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20008581/

相关文章:

php - 当您选择多列并为每个分解数据放置一个表示时,如何使用 php 从 mysql 分解 1 列?

php - 用于动态创建视频缩略图的 ffmpeg 替代方案

php - 使用条件语句循环时出现 fatal error 导致内存耗尽

jquery - 使用 jQuery 生成随机起始索引

JavaScript 迭代对象

javascript - jquery 替换 HTML div 值

javascript - Firefox 中的“设备方向”?

javascript - 无法在提交按钮中动态使用 Font Awesome 图标

javascript - 用递归函数替换for循环

asp.net - 如何捕获 ModalPopupExtenders JavaScript Hide 调用?