Carbon 时间日期处理

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”
}
// startOfDay()重置当前实例时间为 0时0分0秒 ; endOfDay()重置当前实例时间为 23时59分59秒

// 设置指定时间: 年(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 文档。

posted @ 2020-12-29 18:09  『學無止境』  阅读(2109)  评论(0编辑  收藏  举报