Php 使用DateTime::diff()返回两个日期之间的天数
我目前正在使用DateTime::diff()返回两个日期之间的天、小时、分钟和秒 问题是,当差异超过30天时,返回的不是33天,而是1个月零3天 有没有办法告诉它相应地返回天而不是月 一些代码:Php 使用DateTime::diff()返回两个日期之间的天数,php,Php,我目前正在使用DateTime::diff()返回两个日期之间的天、小时、分钟和秒 问题是,当差异超过30天时,返回的不是33天,而是1个月零3天 有没有办法告诉它相应地返回天而不是月 一些代码: $date1 = new DateTime(date('Y-m-d H:i:s', time())); $date2 = new DateTime($row['start']); $interval = $date1->diff($date2); $day
$date1 = new DateTime(date('Y-m-d H:i:s', time()));
$date2 = new DateTime($row['start']);
$interval = $date1->diff($date2);
$days = $newInfo[$key]['days'] = $interval->format("%d");
$hours = $newInfo[$key]['hours'] = $interval->format("%h");
$minutes = $newInfo[$key]['minutes'] = $interval->format("%i");
$seconds = $newInfo[$key]['seconds'] = $interval->format("%s");
对于这种情况,有一个特殊的格式参数:
<?php
$days = $newInfo[$key]['days'] = $interval->format("%a");
对于这种情况,有一个特殊的格式参数:
<?php
$days = $newInfo[$key]['days'] = $interval->format("%a");
看起来您希望使用
从示例部分:
$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);
// %a will output the total number of days.
echo $interval->format('%a total days')."\n";
看起来你想用
从示例部分:
$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);
// %a will output the total number of days.
echo $interval->format('%a total days')."\n";