📜  日期 laravel - PHP (1)

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

日期处理在 Laravel 中的应用

日期处理是 web 开发中的常见需求,Laravel 提供了许多强大的处理日期的函数,能够方便地处理常用的日期格式和计算。

常见用法
获取当前日期

通过 Carbon 类获取当前日期,其提供了方便的日期操作方法。

use Carbon\Carbon;

$now = Carbon::now();
echo $now->toDateString(); // 输出当前日期,格式为 Y-m-d
格式化日期
use Carbon\Carbon;

$date = Carbon::createFromFormat('Ymd', '20220101');
echo $date->format('Y-m-d'); // 输出 2022-01-01
根据时间戳创建日期
use Carbon\Carbon;

$date = Carbon::createFromTimeStamp(1642216938);
echo $date->toDateTimeString(); // 输出 2022-01-15 05:35:38
获取日期差
use Carbon\Carbon;

$start = Carbon::createFromFormat('Y-m-d', '2021-01-01');
$end = Carbon::createFromFormat('Y-m-d', '2022-01-01');

echo $start->diffInDays($end); // 差 365 天
修改日期
use Carbon\Carbon;

$date = Carbon::createFromFormat('Y-m-d H:i:s', '2022-01-15 05:35:38');
echo $date->addWeeks(2)->toDateTimeString(); // 增加两周后的时间
echo $date->subDays(3)->toDateTimeString(); // 减少三天后的时间
实践应用

在实际开发中,我们需要将日期显示为更加友好的格式:

use Carbon\Carbon;

$posted_at = Carbon::parse($post->created_at);
echo $posted_at->diffForHumans(); // 输出例如:1 天前、5 分钟前等

在数据库查询中,通过 MySQL 的 DATE_FORMAT 函数可以将日期格式化为需要的格式:

$users = DB::table('users')
            ->select(DB::raw("DATE_FORMAT(created_at, '%Y-%m-%d') as created_date"))
            ->get();
总结

Laravel 提供的日期处理函数,让我们在开发中更加方便快捷地操作日期,避免了大量代码重复。同时,Laravel 还提供了 Carbon 类,进一步简化了日期计算。在实际应用中,开发者可以充分利用这些函数,提高开发效率。