php日期总天数,PHP 计算日期间隔天数

本文对比了使用PHP的旧式方法通过`date()`和`explode()`函数计算日期差与新版本中利用`DateTime`类的`diff()`方法。展示了两种实现方式并介绍了DATE_DIFF函数在PHP 5.3以上版本的高效应用。
摘要由CSDN通过智能技术生成

刚开始在没有查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 有效

$datetime1 = new DateTime('2009-10-11');

$datetime2 = new DateTime('2009-10-13');

$interval = $datetime1->diff($datetime2);

echo $interval->format('%R%a days');

?>

$datetime1 = date_create('2009-10-11');

$datetime2 = date_create('2009-10-13');

$interval = date_diff($datetime1, $datetime2);

echo $interval->format('%R%a days');

?>

这两种方法都可以实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值