纠正2天之间的天数/周数?

时间:2015-03-02 14:45:06

标签: php

我已经创建了一个函数来计算两个日期之间的天数和周数,在下面的例子中有35天结果恰好是5周,但是函数只是在4.8571428571429返回 - 该部门是杀死剩余部分并在4点出现。

我可以使用ceil函数将其四舍五入到5但这对所有日期来说都是安全的方法吗?或者有更好的方法吗?

    $date1 = new DateTime('2015-02-23');
    $date2 = new DateTime('2015-03-29');

    $diff = $date2->diff($date1)->format("%a");

    $weeks = $diff / 7;

    return $weeks;

2 个答案:

答案 0 :(得分:3)

$date2->add(new DateInterval('P1D'));

在$ date2初始化后使用此行。

为什么这会起作用? 如果算一算,现在有34天:从23-02 0:00 TILL 29-03 0:00。

如果你想计算这最后一天(有35天),你还需要额外增加一天。

答案 1 :(得分:1)

将一天添加到$ date2

$date1 = new DateTime('2015-02-23');
$date2 = new DateTime('2015-03-29');
$date2->add(new DateInterval('P1D'));

$diff = $date2->diff($date1)->format("%a");

$weeks = $diff / 7;

return $weeks;

但是,您与原始日期的差异仍然不是一整周