官方文档:https://carbon.nesbot.com/docs/
安装方法
1. 基本安装
# 在项目根目录执行
composer require nesbot/carbon2. 指定版本安装
# 安装特定版本
composer require nesbot/carbon:^2.0
# 安装开发版本
composer require nesbot/carbon --dev基本使用方法
1. 引入 Carbon
use Carbon\Carbon;
// 获取当前时间
$now = Carbon::now();
echo $now; // 2023-10-27 14:30:00
// 创建指定时间
$date = Carbon::create(2023, 12, 25, 10, 30, 0);2. 常用方法示例
use Carbon\Carbon;
// 格式化输出
echo Carbon::now()->format('Y-m-d H:i:s');
echo Carbon::now()->toDateString(); // 2023-10-27
echo Carbon::now()->toDateTimeString(); // 2023-10-27 14:30:00
// 日期操作
$tomorrow = Carbon::now()->addDay();
$yesterday = Carbon::now()->subDay();
$nextWeek = Carbon::now()->addWeek();
// 日期比较
$date1 = Carbon::create(2023, 10, 27);
$date2 = Carbon::create(2023, 10, 28);
if ($date1->lt($date2)) { // less than
echo "date1 在 date2 之前";
}
// 时区设置
$date = Carbon::now('Asia/Shanghai');
$date->setTimezone('America/New_York');3. 本地化(中文支持)
# 安装语言包
composer require carbonphp/carbon-doctrine-typesuse Carbon\Carbon;
// 设置中文
Carbon::setLocale('zh');
echo Carbon::now()->diffForHumans(); // 刚刚
echo Carbon::now()->subMinutes(5)->diffForHumans(); // 5分钟前配置文件(可选)
在 Laravel 项目中,可以在 config/app.php 中配置时区:
'timezone' => 'Asia/Shanghai',
'locale' => 'zh-CN',验证安装
创建测试文件验证安装:
<?php
require 'vendor/autoload.php';
use Carbon\Carbon;
echo "当前时间:" . Carbon::now() . "\n";
echo "明天:" . Carbon::now()->addDay() . "\n";
echo "一周前:" . Carbon::now()->subWeek()->diffForHumans() . "\n";常见问题解决
版本兼容性问题
# 查看当前PHP版本支持的Carbon版本 php -v # 如果PHP版本较旧,使用Carbon 1.x composer require nesbot/carbon:^1.39内存问题
# 清理composer缓存 composer clear-cache代理设置
# 如果下载慢,使用国内镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
在框架中的使用
Laravel
Carbon 已集成在 Laravel 中,可直接使用:
// 在Laravel中直接使用
$date = now(); // Carbon实例
echo $date->format('Y-m-d');其他框架
// Slim, Symfony等框架
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
$carbon = new Carbon();这样就成功安装并可以使用 Carbon 来处理日期时间了。
评论 (0)