Php 检查日期,看有多老?
我想检查给定日期是否超过30天我必须打印“OUTOFDATE”,否则我必须打印“INPROCESS” 我试过这样的东西Php 检查日期,看有多老?,php,Php,我想检查给定日期是否超过30天我必须打印“OUTOFDATE”,否则我必须打印“INPROCESS” 我试过这样的东西 if(strtotime('2014-05-14')>strtotime('+1 Months')){ echo "OUTOFDATE"; } else { echo "INPROCESS"; } 帮帮我。试试看 echo $start = date('Y-m-d', strtotime('2014-04-20')); echo $end = date('
if(strtotime('2014-05-14')>strtotime('+1 Months')){
echo "OUTOFDATE";
} else {
echo "INPROCESS";
}
帮帮我。试试看
echo $start = date('Y-m-d', strtotime('2014-04-20'));
echo $end = date('Y-m-d', strtotime('-30 days'));
if($start > $end) {
echo "OUTOFDATE";
}
else {
echo "INPROCESS";
}
试试这个对你很好
if(strtotime('2014-05-14')>=strtotime('+1 Months')){
echo "OUTOFDATE";
} else {
echo "INPROCESS";
}
您当前的条件:
if(strtotime('2014-05-14')>strtotime('+1 Months'))
说明:如果2014-05-14
在<1个月之后
您要做的是检查2014-05-14
是否在DateTime()
之前是,因为DateTime()
对象是可比较的,PHP推荐用于所有日期数学:
$date1 = new DateTime('2014-05-01');
$oneMonthAgo = new DateTime('-1 month');
if ($date1 > $oneMonthAgo) {
echo "OUTOFDATE";
} else {
echo "INPROCESS";
}
您正在尝试查看2014-05-14是否超过了今天的日期加上2014-06-14的一个月。因此,2014-05-14号不超过2014-06号-14@merlin2011:语法正确。看到了吗?我该怎么办?请帮助。+1个月…没有,因为它不是复数形式?为什么不直接比较$start
和$end
字符串?仍然-为什么要使用strotime
?这是错误的。上面写着“如果2014-04-03大于2014-04-03+30天”。。。它永远不会返回true,因为$start
始终小于$start+30天
抱歉,但它仍然不正确。错误是$start
和$end
的声明。您将一个日期与其自身进行比较+/-30天,因此条件将永远不会与$start
相关<代码>$end
与$start
的距离始终相同。是的,逻辑看起来更好。。。虽然我仍然不认为它能解决老年退休金问题。不管怎样,我删除了我的否决票,因为你修复了我所指的错误:)
$date1 = new DateTime('2014-05-01');
$oneMonthAgo = new DateTime('-1 month');
if ($date1 > $oneMonthAgo) {
echo "OUTOFDATE";
} else {
echo "INPROCESS";
}