我有一个问题。我需要计算时差,但这里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')
格式的现有时间。请帮助我。
答案 0 :(得分:1)
$today
是DateTime个实例。要回应它,您需要调用其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