Laravel 中默认使用的时间处理类就是 Carbon。
//安装
可以通过 Composer 来安装 Carbon: composer require nesbot/carbon PS:由于 Laravel 项目已默认安装了此包,所以不需要再次执行上面的命令。
//使用
你需要通过命名空间导入 Carbon 来使用,而不需每次都提供完整的名称。 use Carbon\Carbon; 获取当前时间 可以同 now() 方法获取当前的日期和时间。
如果你想使用一个不同的时区,你需要传递一个有效的时区作为参数:
例:Carbon::now('UTC') //获取国际标准时间
例:Carbon::now()->timezone('UTC')
// 直接使用字符串
echo Carbon::now(); //当前时间 2016-10-14 15:18:34
echo Carbon::today(); //今天整时 2016-10-14 00:00:00
echo Carbon::tomorrow(‘Europe/London’); //明天整时 2016-10-14 00:00:00
echo Carbon::yesterday(); //昨天整时 2016-10-14 00:00:00
以上输出结果其实是一个 Carbon 类型的日期时间对象:
Carbon {#179 ▼
+“date”: “2016-06-14 00:00:00.000000”
+“timezone_type”: 3
+“timezone”: “UTC”
}
// 设置指定时间: 年(Year) 季度(Quarter) 星期(Week) 月(Month) 日(Day) 时(Hour) 分(Minute) 秒(Second) ; add加数量 sub减数量 默认为1
例: Carbon::now()->addYear(2)->addQuarter(3)->subDay()
例: Carbon::now()->subHour(6)->addMinute(7)->subSecond()
// 要想获取标准字符串类型的日期时间,可以使用代码: toDateTimeString()
例:echo Carbon::today()->toDateTimeString(); //2021-03-11 00:00:00
// 要想获取标准字符串类型的日期,可以使用代码: toDateString()
例:echo Carbon::today()->toDateString(); //2021-03-11
// 要想获取字时间戳类型的日期,可以使用代码: getTimeStamp():
例:echo Carbon::today()->getTimeStamp(); //1615292000
// 根据时间字符串及其对应的format字符串创建Carbon实例
例:echo Carbon::parse('2021-03-08T23:22:46.140Z', 'UTC')
// 根据时间戳和指定时区, 创建Carbon实例
例:echo Carbon::createFromTimestamp("1615292000")
// 时间的比较返回布尔值 可用: eq, ne, gt, gte, lt, lte between
例: Carbon::now()->between(Carbon::yesterday(),Carbon::tomorrow())
例: Carbon::now()->eq(Carbon::tomorrow())
// 计算时间差返回相差值 可用: 秒差(diffInSeconds), 分差(diffInMinutes), 时差(diffInHours), 日差(diffInDays)
例: Carbon::now()->diffInSeconds(Carbon::now()->subHours(1))
注意: 已有的时间改另一时区 通过先转换时间戳再来转换时区时间
更多详细用法,可以参考 Carbon 文档。