douruanfan3030 2015-01-21 16:55
浏览 28
已采纳

在PHP中比较日期时间(分钟)?

I'm trying to compare two different new DateTime by minutes but I have no luck with it!

one is the end date which is in the future and the other one is the end date + 10 minutes.

so when the end date is smaller than the one with 10 minutes added, i need to do something and if the end date is still greater than the one with 10 minutes added, i need to run my code as usual.

my current code is this:

$end_date = new DateTime('2015-01-21 17:28:23');
$datetime1 = new DateTime();
$datetime2 = new DateTime($end_date);
$interval = $datetime1->diff($datetime2);
$finalDate = $interval->format('%d day %h hours %i minutes %s seconds');

$minutes_to_add = 10;

$time = new DateTime($end_date);
$time->add(new DateInterval('PT' . $minutes_to_add . 'M'));


echo $stamp = $time->format('Y-m-d H:i:s');
echo '<br />';
echo $stamp = $datetime2->format('Y-m-d H:i:s');

if( $time->format('Y-m-d H:i:s') < $datetime2->format('Y-m-d H:i:s')){
echo("result_messageTi=times up");
}
    }
}else{
echo("result_messageTi=$finalDate");    
}

the code above does not compare the two given times at all and in result i get nothing on my php page.

could someone please advise on this?

Thanks in advance.

  • 写回答

1条回答 默认 最新

  • douzhan1994 2015-01-21 17:08
    关注

    You can compare DateTime objects directly so this should work and I think that extra curly bracket might be causing syntax error and so you are not seeing anything. Try this:

    if( $time < $datetime2){
        echo("result_messageTi=times up");
    }else{
        echo("result_messageTi=$finalDate");    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改