方法:1、将两个日期使用strtotime()函数转换为时间戳;2、将两个时间戳相减,得到时间差;3、使用“floor((时间差)/86400)”语句将时间差转为天数差;4、将天数差除以7即可计算出两个日期相差几周。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php如何计算两个日期相差几周

计算两个日期相差几周,其实本质上就是计算两个日期的时间差

  • 可以下面获取相差的天数

  • 然后将相差的天数除以7

相差的天数可以使用strtotime()和date()计算

  • 将两个日期使用strtotime()函数转换为时间戳;

  • 然后将两个时间戳相减,得到时间差,但此时还是以秒为单位计数的,不利于阅读。

  • 接着将时间差除以86400(24*60*60=86400),在使用floor()向下舍入为最接近的整数即可

<?php
header("content-type:text/html;charset=utf-8");
function daysDiff($date1, $date2)
{
    $first = strtotime($date1);
    $second = strtotime($date2);
    if($first>$second){
    	$diff_seconds=$first-$second;
    }else{
    	$diff_seconds=$second-$first;
    }
	$time = floor(($diff_seconds)/86400);
    return $time;
}

$dt1 = '2022-1-1';
$dt2 = '2022-1-15';
echo $dt1.' 和 '. $dt2. ' 之间相差的天数是 '. daysDiff($dt1, $dt2) ."天";
?>

1.png

相差天数求出来了,就看看计算相差几周了

$weeksDiff=daysDiff($dt1, $dt2)/7;
echo $dt1.' 和 '. $dt2. ' 之间相差的周数是 '. $weeksDiff ."周";

2.png

3.png

看看日历,正好两周。


php如何计算两个日期相差几周