📜  格式化时间 laravel - PHP (1)

📅  最后修改于: 2023-12-03 14:55:41.223000             🧑  作者: Mango

格式化时间 Laravel - PHP

在 Laravel 框架中,时间的格式化有很多种方法和用途,比如将时间按照指定格式进行显示,或者对时间进行计算等。以下是 Laravel 中常用的格式化时间的方法和介绍。

Carbon

Carbon 是一个扩展了 PHP 原生 DateTime 类的第三方库,它提供了更加强大和简单的 API 来处理日期和时间。Laravel 中默认集成了 Carbon,你可以通过以下方式使用它:

<?php

use Illuminate\Support\Carbon;

$date = Carbon::now();
echo $date->toDateTimeString(); // 输出当前日期时间,例如:2022-06-19 09:30:00

Carbon 提供了丰富的时间格式化选项,你可以根据需要选择对应的方法,例如:

<?php

$date = Carbon::now();
echo $date->format('Y-m-d H:i:s'); // 输出当前日期时间,例如:2022-06-19 09:30:00
echo $date->diffForHumans(); // 输出相对时间,例如:2 hours ago

更多 Carbon 格式化选项可以参考官方文档: Carbon Formats

Laravel 方法

除了 Carbon,Laravel 也提供了一些方法来格式化时间数据,这些方法通常作为 Blade 模板的指令使用,例如:

@php
    $date = '2022-06-19 09:30:00';
@endphp

{{ $date->format('Y-m-d H:i:s') }} // 输出指定日期时间,例如:2022-06-19 09:30:00

{{ $date->diffForHumans() }} // 输出相对时间,例如:2 hours ago
Carbon 实例方法

除了格式化选项,Carbon 还提供了一些实例方法,你可以根据实际需求进行选择和使用,例如:

$date = Carbon::now();

$date->addDays(2); // 在当前日期时间上增加 2 天
$date->subWeeks(1); // 在当前日期时间上减少 1 周
$date->startOfMonth(); // 获取当前月份的开始时间
$date->endOfMonth(); // 获取当前月份的结束时间

更多 Carbon 实例方法可以参考官方文档: Carbon Instance Methods

关于时区

在使用 Laravel 中的时间操作时,一定要记得设置 app/config.php 中的时区,否则会出现一些意外问题。在 app/config.php 文件中找到 "timezone" 参数,将其设置成你所在地区的时区即可,例如:

'timezone' => 'Asia/Shanghai',
总结

以上就是 Laravel 中常用的格式化时间的方法和介绍。相信通过学习,你已经可以熟练使用 Carbon 和 Laravel 提供的方法来操作时间数据了,另外,也不要忘记时区的设置哦!