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

如何使用Carbon从两位年、月、日格式字符串计算年龄?

解决方法:将6位日期字符串转为Carbon对象并计算年龄

嘿,我来帮你搞定这个问题!Carbon的createFromFormat方法就是专门用来处理这种自定义格式日期字符串的,完全适配你的需求,下面是具体实现步骤:


方法一:使用createFromFormat(推荐)

这个方法可以直接指定日期字符串的格式,对你的场景来说,格式串就是'ymd'——分别对应两位年份(y)、两位月份(m)、两位日期(d),完美匹配你给出的720402这种结构。

代码示例:

// 你的日期字符串
$dateString = '720402';

// 按指定格式创建Carbon对象
$birthDate = Carbon::createFromFormat('ymd', $dateString);

// 直接调用age方法获取年龄
$howOldAmI = $birthDate->age;

关于年份世纪的说明

Carbon默认会自动处理两位年份的世纪映射:

  • 00-69 → 对应2000-2069年
  • 70-99 → 对应1970-1999年
    所以你的72会被正确解析为1972年,完全符合预期。

方法二:手动格式化后用parse(备选)

如果你更习惯先调整字符串格式,也可以给日期字符串插入分隔符,再用Carbon的parse方法解析:

$dateString = '720402';

// 拆分字符串并添加分隔符,转为"72-04-02"格式
$formattedDate = substr($dateString, 0, 2) . '-' . substr($dateString, 2, 2) . '-' . substr($dateString, 4);

// 解析为Carbon对象并计算年龄
$birthDate = Carbon::parse($formattedDate);
$howOldAmI = $birthDate->age;

不过这个方法不如第一种简洁,优先推荐createFromFormat。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:03:35