关于 Carbon

nesbot/carbon 是 PHP 最强大的时间处理扩展包,完美支持日期差计算、年龄计算、倒计时、时区转换、时间格式化等所有时间场景,是网站开发核心必备工具,可直接替代 PHP 原生 date 函数,中文友好,支持"几分钟前""几小时前""几天前"等人性化时间显示。

安装命令 composer require nesbot/carbon

日期差计算

精确计算两个日期之间的年、月、日、时、分、秒差距

年龄计算

自动计算周岁、虚岁,支持自定义基准日期

倒计时功能

实时计算距离目标时间的剩余天数和时间

时区转换

支持全球时区转换,自动处理夏令时

常用功能示例

日期差计算

计算两个日期之间的差距,精确到年、月、日、小时

$start = Carbon::parse('2024-01-01');
$end = Carbon::parse('2025-06-15');
$diff = $start->diff($end);
echo $diff->y . '年' . $diff->m . '月' . $diff->d . '日';
输出:1年5月14日

年龄计算

根据出生日期计算年龄,支持周岁计算

$birth = Carbon::parse('1990-05-15');
$age = $birth->age;
echo "年龄:$age 岁";

// 或使用 diff
$years = $birth->diffInYears(Carbon::now());
输出:年龄:36 岁

倒计时

计算距离目标时间的剩余时间

$target = Carbon::parse('2025-12-31 23:59:59');
$now = Carbon::now();
$diff = $now->diff($target);
echo $diff->d . '天 ' . $diff->h . '小时';
输出:237天 5小时

时区转换

在不同时区之间转换时间

$time = Carbon::parse('2025-01-01 12:00:00', 'Asia/Shanghai');
$time->setTimezone('America/New_York');
echo $time->format('Y-m-d H:i:s');
输出:2024-12-31 23:00:00

时间格式化

灵活的时间格式化输出

$now = Carbon::now();
echo $now->toDateTimeString();
echo $now->format('Y年m月d日 H:i:s');
echo $now->toIso8601String();
输出:2025-05-08 10:30:00

人性化时间

智能显示"几分钟前""几小时前"等人性化文本

$time = Carbon::parse('-3 days');
echo $time->diffForHumans();

$future = Carbon::parse('+1 week');
echo $future->diffForHumans();
输出:3天前 | 1周后