如何在Laravel Carbon中获取指定年份和季度的起止日期
在Laravel Carbon中获取指定年份与季度的起止日期
要获取指定年份和季度的起止日期,你可以通过Carbon的quarter()方法先定位到目标季度,再调用startOfQuarter()和endOfQuarter()方法即可,以下是具体示例:
基础用法(以2022年第2季度为例)
// 获取季度开始日期 $start = Carbon::create(2022, 1, 1)->quarter(2)->startOfQuarter(); // 结果:2022-04-01 00:00:00 // 获取季度结束日期 $end = Carbon::create(2022, 1, 1)->quarter(2)->endOfQuarter(); // 结果:2022-06-30 23:59:59
封装复用函数
如果需要多次使用,可以封装成一个简单函数:
function getQuarterRange(int $year, int $quarter): array { $baseDate = Carbon::create($year, 1, 1)->quarter($quarter); return [ 'start' => $baseDate->copy()->startOfQuarter(), 'end' => $baseDate->copy()->endOfQuarter(), ]; } // 使用示例 $range = getQuarterRange(2022, 2); // $range['start'] 对应季度起始,$range['end'] 对应季度结束
原理说明
quarter($quarter)方法会将Carbon实例直接切换到目标年份的指定季度,之后调用startOfQuarter()会自动定位到该季度的第一天0点,endOfQuarter()则定位到该季度的最后一天23:59:59,初始化时的月份不影响最终结果,只要是目标年份的任意日期即可。
内容的提问来源于stack exchange,提问作者Tomato
相关产品推荐
相关产品推荐

