date_create函数在php中不起作用

时间:2016-03-17 03:46:46

标签: php

我有一个问题。我需要计算时差,但这里date_create函数没有在php中显示任何输出。我正在解释下面的代码。

while($row=mysqli_fetch_assoc($orderqry)){
    $exit_date=$row['delivered_datetime'];
    if($exit_date!=='0000-00-00 00:00:00'){  
       $deldate=date_create($exit_date);
       $today=date_create(date('Y-m-d H:i:s'));
      echo $today;exit;
      $interval = date_diff($deldate, $today);
      $hours = $interval->format('%h');    
}
}

在这里我试图回应$today,但它没有给出任何结果。我需要以小时计算时差。在我的数据库中,我有date('Y-m-d H:i:s')格式的现有时间。请帮助我。

2 个答案:

答案 0 :(得分:1)

$todayDateTime个实例。要回应它,您需要调用其format()方法。

echo $today->format('Y-m-d H:i:s');

答案 1 :(得分:0)

date_create是别名:DateTime::__construct()。看下面的例子,我在$exit_date分配了6小时前的日期。所以与当前日期的理想差异应该是6小时。

$exit_date = date('Y-m-d H:i:s', strtotime('-6 Hours'));
$deldate=date_create($exit_date); //returns datetime class object
$today=date_create(date('Y-m-d H:i:s'));

$interval = date_diff($deldate, $today);
echo $hours = $interval->format('%h'); // output 6 hours

如果您想从$today变量打印日期,请使用:

echo $today->format('Y-m-d H:i:s'); //output: today's date in Y-m-d H:i:s format

有关详细信息,请查看http://php.net/manual/en/book.datetime.php