将月差异作为整数返回

时间:2013-04-05 11:35:39

标签: php arrays function product

我试图将月差异作为整数返回,并调用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>

但是没有任何回报,我在这里做错了什么?

2 个答案:

答案 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)));

  ?>