如何比较 d-M-Y 格式的两个日期?

问题描述 投票:0回答:3

请告诉我这段代码有什么问题吗?

$locked_date = date('d-M-Y');
$edit_date = '29-Apr-2013';
if($edit_date <= $locked_date){
echo $edit_date.' smaller then'. $locked_date;
}
else {
echo $edit_date.' bigger then'. $locked_date;
}
php date compare
3个回答
3
投票

使用 strtotime 函数将其转换为 Unix 时间戳,

if(strtotime($edit_date) <= strtotime($locked_date)){
    echo $edit_date.' smaller then'. $locked_date;
}
else {
   echo $edit_date.' bigger then'. $locked_date;
}

2
投票

您无法比较像这样的字符串格式的日期。检查一个日期是否出现在另一个日期之前或之后的一个简单方法是首先使用

strtotime
:

将它们转换为 Unix 时间戳(只是整数)
$locked_date = date('d-M-Y');
$edit_date = '29-Apr-2013';

if(strtotime($edit_date) <= strtotime($locked_date)) {
    echo $edit_date.' smaller then'. $locked_date;
} else {
    echo $edit_date.' bigger then'. $locked_date;
}

1
投票

使用

strtotime
函数比较unix时间戳:

$locked = time(); //current timestamp
$locked_date = date(d-M-Y);
$edit_date = '29-Apr-2013';
$edit = strtotime($edit_date);
if($edit <= $locked){
    echo $edit_date.' smaller then'. $locked_date;
}
else {
    echo $edit_date.' bigger then'. $locked_date;
}
© www.soinside.com 2019 - 2024. All rights reserved.