Php 计算今天和下一个4/3/ear之间的小时差

Php 计算今天和下一个4/3/ear之间的小时差,php,datetime,mktime,Php,Datetime,Mktime,我想计算今天和明年4月4日(现在是4/4/2013)之间的差异,但我不知道如何使用实际年份+1创建DateTime对象。这就是我所拥有的: $now=new DateTime() $ref=mktime(0,0,0,4,3,日期(“Y”)+1) echo$diff=$ref->diff($now)->天 我认为问题在于mktime没有返回DateTime对象?哪种方法最好? 谢谢 尚未对其进行测试。为此使用strotime,如下所示 $nextyear = date('Y')+1; $time1

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

$now=new DateTime()
$ref=mktime(0,0,0,4,3,日期(“Y”)+1)
echo$diff=$ref->diff($now)->天

我认为问题在于mktime没有返回DateTime对象?哪种方法最好? 谢谢


尚未对其进行测试。

为此使用strotime,如下所示

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

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

echo $hourdiff = round((strtotime($time1) - strtotime($time2))/3600, 1);
试试这个:

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
)

一种方法是找出日期差(*24小时)并减去
systime
,以小时为单位。当当前年份为2014年时会发生什么情况?;)@Tom,
[invert]
字段设置为one@Tom,或类似的:
print_r(date_diff(date_create('2013-04-04 00:00:00'),date_create())当当前年份为2013年时,它将不起作用。在这种情况下,我需要知道当天(2013年)和4-3之间的差异-2014@Tom这是一个如何在两次约会之间找出时间的例子。不管怎样,现在就看更新的答案这就是我想要的:
time1=date('Y')+1'-'.date('m')。-'.date('d')我已经知道如何在两个日期之间减去天数;)
DateInterval Object
(
    [y] => 0
    [m] => 5
    [d] => 22
    [h] => 9
    [i] => 8
    [s] => 25
    [invert] => 0
    [days] => 173
)