欢迎访问宙启技术站
智能推送

PHP中的date函数如何格式化日期和时间?

发布时间:2023-06-06 11:24:21

在 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 类来获得更高级的控制权。