请告诉我这段代码有什么问题?
$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;
}
答案 0 :(得分: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;
}
答案 1 :(得分: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;
}
答案 2 :(得分: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;
}