You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:05:31