0

我想计算今天和明年 4 月 4 日之间的差异(现在是 2013 年 4 月 4 日),但我不知道如何使用实际年份 + 1 创建 DateTime 对象。这就是我所拥有的:

$now = new DateTime();
$ref = mktime(0, 0, 0, 4, 3, date("Y")+1);
echo $diff = $ref->diff($now)->days;

我认为问题在于 mktime 没有返回 DateTime 对象?最好的方法是什么?谢谢

4

3 回答 3

1
$today = date("Y-m-d");
$destination = date("Y-m-d" , mktime(0, 0, 0, 4, 3, date("Y")+1));

$todayObj = new DateTime($today);
$destObj = new DateTime($destination);

echo $diff = $todayObj->diff($destObj)->days;

还没有测试它。

于 2012-10-12T08:50:25.177 回答
1

使用 strtotime 如下

$nextyear = date('Y')+1;
$time1=$nextyear.'-'.date('m').'-'.date('d');

$time2=date('Y-m-d');

echo $hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);
于 2012-10-12T08:51:48.493 回答
0

尝试这个:

print_r(date_diff(date_create(), date_create('2013-04-03 00:00:00')));

输出:

DateInterval Object
(
    [y] => 0
    [m] => 5
    [d] => 22
    [h] => 9
    [i] => 8
    [s] => 25
    [invert] => 0
    [days] => 173
)
于 2012-10-12T08:52:39.043 回答