PHP 计算日期间隔天数

刚开始在没有查PHP手册的情况下,用比较老套方法也折腾出来了,代码是这样子实现的:

    $date_1 = date('Y-m-d');
    $date_2= '2012-07-16';
    $date1_arr = explode("-",$date_1);
    $date2_arr = explode("-",$date_2);
    $day1 = mktime(0,0,0,$date1_arr[1],$date1_arr[2],$date1_arr[0]);
    $day2 = mktime(0,0,0,$date2_arr[1],$date2_arr[2],$date2_arr[0]);
    $days = round(($day2 - $day1)/3600/24);
    echo $days; exit;


后来google了一下  。发现PHP手册里 有个 DATE_DIFF 的方法 ,就是实例化了datetime 的这个类,调用diff这个方法:PHP版本>= 5.3 有效

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>


这两种方法都可以实现。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值