PHP中的date函数如何格式化日期和时间?
在 PHP 中,date 函数是其中一个强大的函数,通过它可以将 UNIX 时间戳格式化成易读的日期和时间格式。本文将向你介绍如何使用 date 函数进行日期和时间格式化。
## 函数语法
PHP date 函数的基本语法如下所示:
string date ( string $format , int $timestamp = time() )
参数解释:
- format:必填项,用于指定日期格式的字符串,详见下文;
- timestamp:可选项,表示需要格式化的时间戳,如果未提供将默认使用当前时间。
## 格式化日期和时间
我们可以使用 date 函数来格式化日期和时间,只需传入需要格式化的日期和时间的标识字符串,如下:
echo date("Y-m-d"); // 输出 2021-08-02
echo date("H:i:s"); // 输出 17:58:23
在这个例子中,需要格式化的日期是当前日期和时间,因此第二个参数 timestamp 可以省略。 个参数 format 是一个字符串参数,用于确定输出日期和时间时的格式。格式的标识符可以使用简写或完整的格式标识符。
## 格式标识符
下面是一些常用的日期/时间格式化标识符:
### 日
- d:月份中的日期,有前导零(01-31)
- j:月份中的日期,没有前导零(1-31)
- S:日期的英文序数后缀,2 个字符字符(st、nd、rd 或者 th)。适用于 j。
### 月
- m:月份,有前导零(01-12)
- n:月份,没有前导零(1-12)
- F:月份的英文全名(January-December)
- M:月份的英文缩写(Jan-Dec)
### 年
- Y:4 位数完整表示的年份(例如:2021)
- y:2 位数表示的年份(例如:21)
### 时间
- H:小时,24 小时制,有前导零(00-23)
- h:小时,12 小时制,有前导零(01-12)
- i:分钟,有前导零(00-59)
- s:秒数,有前导零(00-59)
- a:上午或下午(am 或 pm)
- A:上午或下午(AM 或 PM)
### 日期和时间组合
- c:ISO 8601 格式的日期(例如:2021-08-02T18:27:31+00:00)
- r:RFC 2822 格式的日期(例如:Mon, 02 Aug 2021 18:27:31 +0000)
- U:从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数
## 示例
下面是一些使用日期/时间格式化的示例:
echo date("Y.m.d"); // 输出 2021.08.02
echo date("Y-m-d"); // 输出 2021-08-02
echo date("Y/m/d"); // 输出 2021/08/02
echo date("l, d F Y"); // 输出 Monday, 02 August 2021
echo date("h:i:s A"); // 输出 06:54:02 PM
## 扩展
在 PHP 5.1.0 之后,我们还可以使用 DateTime 类进行日期和时间格式化。DateTime 类是一个强大的类,它允许我们对日期和时间进行各种操作。下面是一个例子:
$dateTime = new DateTime('2021-08-02'); // 创建一个日期时间对象
echo $dateTime->format('Y-m-d'); // 输出 2021-08-02
总的来说,无论是使用 date 函数还是 DateTime 类,PHP 都提供了非常强大的工具来格式化日期和时间。你可以使用不同的标识符来格式化常见的日期和时间格式。如果你对日期时间处理非常敏感,建议使用 DateTime 类来获得更高级的控制权。
