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

在Laravel中如何仅通过月份数字获取对应月份的总天数

实现方案

在Carbon中完全可以仅通过月份+年份参数直接计算对应月份天数,不需要完整日期,两种常用实现方式如下:

方式1:实例化Carbon对象后调用daysInMonth属性

如果直接使用当前年份计算,代码如下:

// 顶部如果没有自动引入Carbon需要先加 use Carbon\Carbon;
// $month 支持传入 '01'/'02' 字符串格式 或 1/2 数字格式
$month = '02';
$days = Carbon::createFromFormat('m', $month)->daysInMonth;

如果需要指定年份(避免闰年2月天数计算不符合预期),代码如下:

$customYear = 2024;
$month = '02';
$days = Carbon::create($customYear, $month)->daysInMonth;
// 上述代码返回29,符合2024年闰年2月的天数规则

方式2:直接调用Carbon静态方法

可以不用实例化,直接调用静态方法daysInMonth实现:

$year = 2023;
$month = '02';
$days = Carbon::daysInMonth($year, $month);
// 上述代码返回28

注意事项

  • 若不主动指定年份,Carbon默认取当前系统年份计算天数,如果你业务场景有固定年份要求,建议手动传年份参数避免误差
  • 输入的月份格式兼容带前导零的字符串、不带前导零的数字两种格式,不需要额外做格式转换

内容的提问来源于stack exchange,提问作者Saad Ramay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:06:03