📜  laravel 中的碳 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:13.455000             🧑  作者: Mango

Laravel 中的 Carbon - PHP

在编写 PHP 代码时,如果需要进行日期时间的操作,Carbon 是一个非常好用的扩展包。Laravel 框架默认集成了 Carbon 扩展包,让我们可以非常便捷地进行日期时间的格式化、转化、比较、操作等操作。

安装

如果你使用的是 Laravel 六以下的版本,Carbon 扩展包需要手动安装。

composer require nesbot/carbon

如果你使用的是 Laravel 六及以上版本,Carbon 扩展包已经集成在框架中。

使用

使用 Carbon 非常简单,我们首先可以通过 now() 方法获取当前时间。

use Carbon\Carbon;

$now = Carbon::now();
格式化输出

接下来,我们可以将时间格式化为需要的格式。

// 当前时间的年份
echo $now->year;

// 当前时间的月份
echo $now->month;

// 当前时间的天数
echo $now->day;

// 当前时间的小时数
echo $now->hour;

// 当前时间的分钟数
echo $now->minute;

// 当前时间的秒数
echo $now->second;

// 当前时间的星期几
echo $now->dayOfWeek;

我们也可以自定义输出的格式,如下所示:

// 自定义输出格式
echo $now->format('Y-m-d H:i:s');

其中,Y 表示年份,m 表示月份,d 表示天数,H 表示小时数,i 表示分钟数,s 表示秒数。

转化时间格式

Carbon 可以非常方便地将时间字符串转化为 Carbon 对象。

$dateString = '2020-12-12 12:12:12';

$date = Carbon::parse($dateString);

同时,我们也可以将 Carbon 对象转化为时间字符串。

echo $date->toDateString(); // 2020-12-12

echo $date->toTimeString(); // 12:12:12

echo $date->toDateTimeString(); // 2020-12-12 12:12:12
操作时间

在 Carbon 中,我们可以非常方便地对时间进行操作。

// 获取当前时间 3 小时之后的时间
echo Carbon::now()->addHours(3)->toDateTimeString();

// 获取当前时间 3 小时之前的时间
echo Carbon::now()->subHours(3)->toDateTimeString();

// 获取当前时间 2 天之后的时间
echo Carbon::now()->addDays(2)->toDateTimeString();

// 获取当前时间 2 天之前的时间
echo Carbon::now()->subDays(2)->toDateSTring();
比较时间

我们可以使用 Carbon 对象进行时间的比较操作。

$date1 = Carbon::now();
$date2 = Carbon::now()->addDays(1);

if ($date1->gt($date2)) {
    echo 'date1 is greater than date2.';
} else {
    echo 'date1 is less than date2.';
}
总结

使用 Carbon 扩展包,我们可以非常方便地进行日期时间的格式化、转化、比较、操作等操作。这样可以大大提高我们的开发效率,让我们的代码更易读、易懂。