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

如何在Laravel中从日期数组计算每个用户的年龄?

如何在Laravel中将日期集合转换为年龄集合

嘿,作为Laravel新手,这个需求其实很好解决!Laravel自带的Carbon日期处理库和集合方法完美适配这个场景,下面给你几种简单的实现方式:

基础实现(最直观)

利用集合的map方法遍历每个日期字符串,通过Carbon解析日期并获取自动计算的年龄:

// 你的原始日期集合
$dateCollection = collect([
    "1928-11-18",
    "1938-06-15",
    "1939-03-30",
    "1941-11-08",
    "1940-04-29",
    "1987-06-24"
]);

// 转换为年龄集合
$ageCollection = $dateCollection->map(function ($date) {
    // Carbon的parse方法自动识别日期字符串,age属性直接返回计算后的年龄
    return \Carbon\Carbon::parse($date)->age;
});

简化写法(PHP 7.4+)

如果你的项目用的是PHP 7.4及以上版本,可以用箭头函数让代码更简洁:

$ageCollection = $dateCollection->map(fn($date) => \Carbon\Carbon::parse($date)->age);

容错处理(可选)

如果担心集合里可能存在无效的日期字符串,可以添加有效性校验,避免报错:

$ageCollection = $dateCollection->map(function ($date) {
    $carbonDate = \Carbon\Carbon::parse($date);
    // 无效日期返回null(你也可以改成自己需要的默认值)
    return $carbonDate->isValid() ? $carbonDate->age : null;
});

这样处理后,$ageCollection就是你想要的只包含年龄数值的集合啦~

内容的提问来源于stack exchange,提问作者Hamza Ben Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:15:38