📅  最后修改于: 2023-12-03 15:03:34.543000             🧑  作者: Mango
在 PHP 中,可以通过各种方式来改变日期格式,这可以让我们轻松地将日期格式化为符合需求的形式。
PHP 中最常用的日期格式化函数就是 date()
,它可以接受两个参数:格式和时间戳。
date()
函数中的格式参数可以是任何格式化指令。下面是一些常用的格式指令:
| 格式指令 | 描述 | | --- | --- | | d | 月份中的第几天,有前导零(01 - 31) | | D | 星期几的简写(Mon - Sun) | | j | 月份中的第几天,没有前导零(1 - 31) | | l | 星期几的全称(Monday - Sunday) | | M | 月份的简写(Jan - Dec) | | n | 月份的数字表示(1 - 12) | | F | 月份的全称(January - December) | | Y | 年份的四位数字表示 | | y | 年份的两位数字表示 | | H | 小时,24 小时格式,有前导零(00 - 23) | | h | 小时,12 小时格式,有前导零(01 - 12) | | i | 分钟,有前导零(00 - 59) | | s | 秒钟,有前导零(00 - 59) | | a | 小写的 "am" 或 "pm" | | A | 大写的 "AM" 或 "PM" |
date()
函数的第二个参数是可选的时间戳参数,默认为当前时间。该参数可以是一个 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)或一个包含日期和时间的字符串。
以下示例代码展示了如何将日期格式化为不同的形式。
// 输出当前日期,格式为 "2019-06-13"
echo date("Y-m-d");
// 输出当前日期和时间,格式为 "2019-06-13 14:32:45"
echo date("Y-m-d H:i:s");
// 输出当前时间,格式为 "14:32:45"
echo date("H:i:s");
// 输出当前月份的简写,例如 "Jun"
echo date("M");
// 输出当前适合作为文件名的日期,例如 "2019-06-13_14-32-45"
echo date("Y-m-d_H-i-s");
PHP 中的另一个日期函数是 strtotime()
,它可以接受一个包含日期和时间的字符串并将其转换为时间戳。该字符串可以包含日期/时间的任何格式,例如 "2019-06-13 14:32:45" 或 "yesterday" 或 "next Sunday"。
strtotime()
函数的语法如下:
strtotime($时间字符串);
以下示例代码展示了如何将日期字符串转换为时间戳并将时间戳格式化为其他日期格式。
// 将日期字符串转换为时间戳
$timestamp = strtotime("2019-06-13 14:32:45");
// 格式化时间戳为 "Jun 13, 2019"
echo date("M j, Y", $timestamp);
// 格式化时间戳为 "Thursday, June 13th"
echo date("l, F jS", $timestamp);
// 格式化时间戳为 "2019年06月13日 14:32:45"
echo date("Y年m月d日 H:i:s", $timestamp);
PHP 中还有一个强大的日期和时间处理类 DateTime
,该类提供了众多操作日期和时间的方法,例如获取日期间隔、增加或减少日期等。
使用 DateTime
类的首要任务是创建 DateTime
对象。可以使用 DateTime
类的构造函数来创建 DateTime
对象。
以下是两种创建 DateTime
对象的方法:
// 通过传递日期字符串来创建 DateTime 对象
$date1 = new DateTime("2019-06-13 14:32:45");
// 通过当前日期和时间来创建 DateTime 对象
$date2 = new DateTime();
可以使用 DateTime
对象中的 format()
方法来将日期格式化为指定的格式。
// 创建一个 DateTime 对象
$date = new DateTime("2019-06-13 14:32:45");
// 输出格式为 "2019-06-13"
echo $date->format("Y-m-d");
// 输出格式为 "June 13, 2019"
echo $date->format("F j, Y");
// 输出格式为 "06/13/2019"
echo $date->format("m/d/Y");
可以使用 DateTime
对象中的方法来增加或减少日期。以下示例代码展示了如何使用 DateTime
对象中的 modify()
方法来修改 DateTime 对象。
// 创建一个 DateTime 对象
$date = new DateTime("2019-06-13 14:32:45");
// 增加一天
$date->modify("+1 day");
// 输出格式为 "2019-06-14"
echo $date->format("Y-m-d");
// 减少两个小时
$date->modify("-2 hours");
// 输出格式为 "2019-06-14 12:32:45"
echo $date->format("Y-m-d H:i:s");
无论是使用 date()
函数、strtotime()
函数还是 DateTime
类来改变日期格式,都是让我们达成目标的有效方式。使用 DateTime
类可以有效地进行日期增减,而 date()
函数则在对当前日期的格式化方面表现出色。