【问题标题】:difference in days between two dates [duplicate]两个日期之间的天数差异[重复]
【发布时间】:2013-07-24 17:11:38
【问题描述】:

我一直使用下面的代码来计算两个日期之间的差异(以天为单位)。但我想知道是否有更智能的东西,有人知道更好的方法吗?

//86400 one day
$data1 = '2013-07-24 21:30:00';
$data2 = '2013-08-24 21:30:00';

$diff =  (abs(strtotime($data1) - strtotime($data2))) / 86400;

var_dump($diff);

【问题讨论】:

    标签: php


    【解决方案1】:

    你可以使用DateTime:diff:

    $data1 = new DateTime('2013-07-24 21:30:00');
    $data2= new DateTime('2013-08-24 21:30:00');
    $interval = $data1->diff($data2);
    echo $interval->format('%R%a days');
    

    如果您输入的日期格式不同,您也可以使用DateTime::createFromFormat 以获得更好的结果,例如:

    $date1 = DateTime::createFromFormat('Y-m-d H:i:s', '2013-07-24 21:30:00');
    $date2 = DateTime::createFromFormat('Y-m-d H:i:s', '2013-08-24 21:30:00');
    $interval = $date1->diff($date2);
    echo $interval->format('%R%a days');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 2011-03-19
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多