本文用来记录开发中自己写过的 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;
}