【PHP】日期工具函数记录

134 阅读1分钟

本文用来记录开发中自己写过的 php 日期相关函数

两个日期之间相差的月数

自定义

function twoMonthInterval($start_time,$end_time,$tags = '-')
{
    $date1 = explode($tags,$start_time);
    $date2 = explode($tags,$end_time);
    $month = abs( ($date2[0] - $date1[0]) * 12 + $date2[1] - $date1[1] );
    return $month;
}

echo twoMonthInterval( '2019-03','2020-03' );        //12
echo twoMonthInterval( '2019-12','2020-03' );        //3

官方

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->m;

获取两个日期之间月份集合

function getArrayOfMonthBetweenTwoMonth($start_month, $end_month)
{
    
    $interval = self::twoMonthInterval($start_month, $end_month); // 调用 twoMonthInterval 函数计算 两个日期之间相差的月数
    $month_arr = [];
    var_dump($interval);
    for ($i = 0; $i < $interval; ++$i) {
        $t = strtotime("+$i month", strtotime($start_month));
        $month_arr[] = date("Ym", $t); // 格式化当前日期,添加进数组并返回
    }
    return $month_arr;
}