如何在Laravel中获取指定起止年月范围内的所有月份名称列表
Laravel 实现起止年月生成月份列表方案
Laravel 内置了 Carbon 日期处理工具,可快速实现该需求,代码示例如下:
<?php // 引入Carbon命名空间 use Carbon\Carbon; // 你的输入参数 $from_year = 2019; $from_month = 10; $to_year = 2020; $to_month = 4; // 构造起止月份的日期实例 $start = Carbon::createFromDate($from_year, $from_month, 1); $end = Carbon::createFromDate($to_year, $to_month, 1); // 生成月份列表 $months = []; while ($start->lte($end)) { $months[] = $start->format('F Y'); $start->addMonth(); }
执行后变量 $months 就是你需要的输出结果。
补充说明
format('F Y')中F代表完整英文月份名称,Y代表四位年份,完全匹配你的输出要求- 也可以用 Carbon 提供的
monthsUntil方法配合 Laravel 集合实现更简洁的写法:
$months = collect($start->monthsUntil($end)) ->map(fn($date) => $date->format('F Y')) ->toArray();
内容的提问来源于stack exchange,提问作者Meshkat Hassan Riad
相关产品推荐
相关产品推荐

