php date_diff不能与h:i格式的时间一起工作
我有一个以DB为单位的h:I A格式的现有时间,例如:上午6:30 我确定当前时间如下: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
$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创建日期。让我两个都试试。