计算今天和4/3 /明年之间的小时差异

时间:2012-10-12 08:45:50

标签: php datetime mktime

我想计算今天和明年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对象?这是最好的方法吗? 感谢

3 个答案:

答案 0 :(得分: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;

尚未测试。

答案 1 :(得分: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);

答案 2 :(得分: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
)