使用 DateTime 类的 format() 方法
使用 date_format() 方法
在 date_d.php 中使用预定义的格式
使用 list() 函数将日期转换为字符串
在 PHP 中将 DateTime 转换为字符串非常容易,有一些专用的函数。例如,使用预定义的格式或使用 list()。
使用 DateTime 类的 format() 方法
PHP DateTime 类用于管理日期和时间,它从 PHP 5.2 版开始引入。
在传统的 PHP 函数上使用 DateTime 来管理日期的一些优势:
它可以处理更多的字符串格式
比其他函数容易。
该接口将后端逻辑与一个干净的接口一起使用。
DateTime 类的有用方法之一是 format(),它根据给定的格式返回格式化的日期字符串。
例:
$theDate = new DateTime('2020-03-08');echo $stringDate = $theDate->format('Y-m-d H:i:s');//output: 2020-03-08 00:00:00
$stringDate 现在是来提供格式的字符串。
注意:DateTime-> format() 并不真正支持微秒。
使用 date_format() 方法
date_format() 方法将返回一个新的 DateTime 对象,然后根据给定的格式对日期进行格式化。
例:
$date = date_create_from_format('d M, Y', '08 Mar, 2020');echo $newFormat = date_format($date,"Y/m/d H:i:s");//output: 2020/03/08 00:00:00
date_create_from_format() 用于根据提供的格式解析时间字符串。该函数接受三个参数,分别是 format,time 和 timezone(可选)。
在上面的示例中,date_format() 处理创建的日期以将其转换为字符串。
在 date_d.php 中使用预定义的格式
预定义格式列表:
define ('DATE_ATOM', "Y-m-d\TH:i:sP");define ('DATE_COOKIE', "l, d-M-y H:i:s T");define ('DATE_ISO8601', "Y-m-d\TH:i:sO");define ('DATE_RFC822', "D, d M y H:i:s O");define ('DATE_RFC850', "l, d-M-y H:i:s T");define ('DATE_RFC1036', "D, d M y H:i:s O");define ('DATE_RFC1123', "D, d M Y H:i:s O");define ('DATE_RFC2822', "D, d M Y H:i:s O");define ('DATE_RFC3339', "Y-m-d\TH:i:sP");define ('DATE_RSS', "D, d M Y H:i:s O");define ('DATE_W3C', "Y-m-d\TH:i:sP");
用法示例:
$dateFormat = new DateTime(); // this will return current dateecho $stringDate = $date->format(DATE_ATOM);//output: 2020-03-08T12:54:56+01:00
上面的示例使用一种预定义格式,因此无需实际提供它。
使用 list() 函数将日期转换为字符串
list() 函数可用于在一次操作中将值分配给变量列表,但仅适用于数字数组。当将数组分配给多个值时,数组中的第一项将分配给第一个变量,依此类推,直到变量数量结束。但是,变量的数量不能超过数字数组的长度。
例:
$date = explode("/",date('d/m/Y/h/i/s')list($day,$month,$year,$hour,$min,$sec) = $date);echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;//output: 03/08/2020 02:01:06
使用 list() 函数,你可以轻松地将 $day,$month,$year,$hour,$min 和 $sec 用作变量。