请帮帮忙,我的代码出了什么问题?它总是返回今天的日期大于'01/02/ 2016‘,其中2016大于2015。
<?php
$date_now = date("m/d/Y");
$date = date_create("01/02/2016");
$date_convert = date_format($date, "m/d/Y");
if ($date_now > $date_convert) {
echo 'greater than';
} else {
echo 'Less than';
}附注: 01/02/2016来自数据库。
发布于 2015-09-18 09:24:45
您不是在比较日期。您正在比较字符串。在字符串比较的世界中,09/17/2015 > 01/02/2016,因为09 > 01。您需要将日期放在可比较的字符串格式中,或者比较可比较的DateTime对象。
<?php
$date_now = date("Y-m-d"); // this format is string comparable
if ($date_now > '2016-01-02') {
echo 'greater than';
}else{
echo 'Less than';
}或
<?php
$date_now = new DateTime();
$date2 = new DateTime("01/02/2016");
if ($date_now > $date2) {
echo 'greater than';
}else{
echo 'Less than';
}发布于 2021-07-21 13:29:41
我们可以将日期转换为时间戳进行比较
<?php
$date_now = time(); //current timestamp
$date_convert = strtotime('2022-08-01');
if ($date_now > $date_convert) {
echo 'greater than';
} else {
echo 'Less than';
}
?>https://stackoverflow.com/questions/32642417
复制相似问题