我试图将月差异作为整数返回,并调用if table table。我的代码:
function ETA($ArrivalDate, $pattern = 'mysql'){
$patterns = array(
'eu' => 'd/m/Y',
'mysql' => 'Y-m-d',
'us' => 'm/d/Y',
);
$CurrentDate = date("Y-m-d");
$ArrivalDate = $variants_data['ArrivalDate'];
$diff = $ArrivalDate->diff($CurrentDate);
return $diff->y;
}
我用
来称呼它<td>'.$_GET['ETA'].'</td>
但是没有任何回报,我在这里做错了什么?
答案 0 :(得分:3)
使用PHP中的DateTime对象,您可以通过更简单的方法获得所需内容:
function ETA($ArrivalDate){
$currentDate = new DateTime();
$arrivalDate = new DateTime($ArrivalDate);
$interval = $currentDate->diff($arrivalDate);
return $interval->format('%m');
}
参见工作示例:http://3v4l.org/UlPQo
如果你没有传递appropriate format $ ArrivalDate,你将会被exception抛出,所以你需要在Try / Catch中包裹这个电话。
有关返回值的更多信息,请参阅DateTime Interval Format。
答案 1 :(得分:0)
试试这个简单的
<?php
//for months
$monthdiff=floor((abs(strtotime(date("d/m/Y")) - strtotime($ArrivalDate))/(60*60*24*30)));
//for days
$daydiff=floor((abs(strtotime(date("d/m/Y")) - strtotime($ArrivalDate))/(60*60*24)));
?>