Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php date_diff不能与h:i格式的时间一起工作_Php - Fatal编程技术网

php date_diff不能与h:i格式的时间一起工作

php date_diff不能与h:i格式的时间一起工作,php,Php,我有一个以DB为单位的h:I A格式的现有时间,例如:上午6:30 我确定当前时间如下: $datecalc = new DateTime("now", new DateTimeZone($time_zone)); $timesnow = $datecalc->format('h:i A'); //09.00 AM //echo $timesnow; 但以下方法不起作用 $interval = date_diff($timesnow, $time_in_DB); echo $interv

我有一个以DB为单位的h:I A格式的现有时间,例如:上午6:30 我确定当前时间如下:

$datecalc = new DateTime("now", new DateTimeZone($time_zone));
$timesnow = $datecalc->format('h:i A'); //09.00 AM
//echo $timesnow;
但以下方法不起作用

$interval = date_diff($timesnow, $time_in_DB);
echo $interval; //NO RESULT
数据库中的
$time\u也采用
h:ia
格式


为什么它不起作用,或者作为一个新手,我错过了一些东西呢?

date\u diff函数接受日期对象而不是字符串 以下是正确的示例:

$date1=date_create("9:00 AM");
$date2=date_create("6:00 PM");
$diff=date_diff($date1,$date2);
echo $diff->format("%h");

它将打印9小时的差异

您能给我们您正在测试的
$time\u的准确值吗
print\r($time\u in_DB)
并确保它是您期望的。
date\u diff
需要两个
DateTime
对象,而不是字符串。您也不需要将
$time\u zone
放在引号中。@ceejayoz print\r($time\u in_DB)现在是6点PM@deceze请您解释一下需要做什么才能使数据库中的$time\u成为一个对象。我尝试了仅在数据库中为time\u创建日期。让我两个都试试。