PHP日期间隔问题

时间:2014-08-11 11:50:14

标签: php datetime datetime-format

您好我正在尝试将90秒添加到我的数据库中存储的日期,并将其与我当前的时间进行比较,然后做出一些决定。我写了以下代码。我也在分享回应。

$curr_date_time=new DateTime('now');
$start_date_time=new DateTime($judge_obj->created_at);
$finish_date_time=$start_date_time->add(new DateInterval('PT90S'));

print_r($curr_date_time);
print_r($start_date_time); 
print_r($finish_date_time);

响应:

DateTime Object ( [date] => 2014-08-11 11:40:53 [timezone_type] => 3 [timezone] => UTC )
DateTime Object ( [date] => 2014-07-25 09:43:10 [timezone_type] => 3 [timezone] => UTC )
DateTime Object ( [date] => 2014-07-25 09:43:10 [timezone_type] => 3 [timezone] => UTC ) 

你看到start_date_time和finish_date_time没有区别。请帮忙

1 个答案:

答案 0 :(得分:1)

add()方法修改DateTime对象本身("引用"如果你愿意的话),所以调用

$start_date_time->add(new DateInterval('PT90S'));

实际上会更新$start_date_time

使用

$start_date_time = new DateTime($judge_obj->created_at);
$finish_date_time = clone $start_date_time;
$finish_date_time->add(new DateInterval('PT90S'));