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

在Laravel中如何获取指定年月对应月份的第一天?

你当前写法的问题在于,只给Carbon::parse()传入了月份参数,当没有明确指定年份时,Carbon会默认使用当前系统的年份,所以才会返回错误的年份结果。

正确实现方式

有两种常用的稳妥写法:

  • 拼接年月后直接解析
Carbon::parse($request->year . ' ' . $request->month)->firstOfMonth();
  • 按指定格式解析(更严谨,避免不同语言环境下月份解析异常)
    你传入的月份是完整英文名称,对应格式字符为F,直接指定格式解析容错率更高:
Carbon::createFromFormat('F Y', "{$request->month} {$request->year}")->firstOfMonth();

如果要进一步提升代码稳定性,建议提前对传入的year和month参数做合法性校验,避免传入非法值触发解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 16:54:03