如何在 PHP 中將 DateTime 轉換為字串
Ralfh Bryan Perez
2023年1月30日
在 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 date
echo $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
用作變數。
相關文章 - PHP Date
- 如何在 PHP 中新增天數到日期
- 如何使用 PHP 計算兩個日期之間的差
- 如何在 PHP 中將字串轉換為日期和日期時間
- 如何在 PHP 中將一種日期格式轉換為另一種日期格式
- 如何在 PHP 中獲取當前日期和時間