PHP date_format() 函式



定義和用法

此函式是 **DateTime::format()** 函式的別名。它接受一個 DateTime 物件和一個格式字串(表示所需的日期/時間格式)作為引數,以指定的格式格式化物件,並返回結果。

語法

date_format($date_time_object, $format)

引數

序號 引數 & 說明
1

date_time_object(必填)

這是你需要格式化的 DateTime 物件。

2

format(必填)

這是表示所需格式的字串。

返回值

PHP date_format() 函式返回格式化的日期字串。

PHP 版本

此函式首次引入於 PHP 5.2.1 版本,並在所有後續版本中均有效。

示例

在此嘗試以下示例,我們正在建立一個 DateTime 物件並對其進行格式化:

線上演示
<?php
   //Creating a DateTime object
   $date_time_Obj = date_create("25-09-1989");
   //formatting the date/time object
   $format = date_format($date_time_Obj, "y-d-m");
   print("Date in yy-dd-mm format: ".$format); 
?>

這將產生以下結果:

Date in yy-dd-mm format: 89-25-09

示例

以下示例分別將 DateTime 物件格式化為日期和時間:
<?php
   $dateString = '11-06-2012 12:50:41 GMT';
   $dateTimeObj = date_create($dateString);
   $date = date_format($dateTimeObj, 'd-m-y');
   print("Date: ".$date); 
   print("\n");
   $time = date_format($dateTimeObj, 'H:i:s');
   print("Time: ".$time); 
?>

這將產生以下結果:

Date: 11-06-12
Time: 12:50:41

示例

以下示例演示了 PHP 中一些有效的格式字串:

<?php
   $dateTimeObj = date_create("11-06-2012 12:50:41 GMT");
   print("Date in y-m-d format: ".date_format($dateTimeObj, 'Y-m-d'));
   print("\n");
   print("Date in d/m/y format: ".date_format($dateTimeObj, 'd/m/y'));
   print("\n");
   print("Date in Y-m-d H:i:s format: ".date_format($dateTimeObj, 'Y-m-d H:i:s'));
   print("\n");
   print("Date in G:i:A format: ".date_format($dateTimeObj, 'G-i-A'));
?>

這將產生以下結果:

Date in y-m-d format: 2012-06-11
Date in d/m/y format: 11/06/12
Date in Y-m-d H:i:s format: 2012-06-11 12:50:41
Date in G:i:A format: 12-50-PM

示例

以下示例使用 date_format() 方法建立新的日期:

<?php
   $dateSrc = '2005-04-19 12:50 GMT';
   $dateTime = date_create( $dateSrc);;
   # Now set a new date using date_format();
   date_format( $dateTime, 2000, 12, 12);
   
   echo "New Formatted date is ". $dateTime->format("Y-m-d\TH:i:s\Z");
   echo "
"; # Using second function. $dateTime = new DateTime($dateSrc); $dateTime->setDate( 1999, 10, 12); echo "New Formatted date is ". $dateTime->format("Y-m-d\TH:i:s\Z"); ?>

這將產生以下輸出:

New Formatted date is 2000-12-12T12:50:00Z
New Formatted date is 1999-10-12T12:50:00Z

格式字串

有一些具有預定義含義的字元,您可以使用它們來建立格式字串。它們是:

  • d - 月份中的天數(從 01 到 31)

  • D - 天的文字表示(三個字母)

  • j - 月份中的天數,沒有前導零(1 到 31)

  • l (小寫 'L') - 天的完整文字表示

  • N - 天的 ISO-8601 數字表示(星期一為 1,星期日為 7)

  • S - 月份中天數的英文序數字尾(兩個字元 st、nd、rd 或 th。與 j 配合使用效果很好)

  • w - 天的數字表示(星期日為 0,星期六為 6)

  • z - 一年中的天數(從 0 到 365)

  • W - 一年中的 ISO-8601 週數(周從星期一開始)

  • F - 月份的完整文字表示(一月到十二月)

  • m - 月份的數字表示(從 01 到 12)

  • M - 月份的簡短文字表示(三個字母)

  • n - 月份的數字表示,沒有前導零(1 到 12)

  • t - 給定月份的天數

  • L - 是否為閏年(如果為閏年則為 1,否則為 0)

  • o - ISO-8601 年份數字

  • Y - 四位數的年份表示

  • y - 兩位數的年份表示

  • a - 小寫 am 或 pm

  • A - 大寫 AM 或 PM

  • B - Swatch Internet 時間 (000 到 999)

  • g - 12 小時制的小時 (1 到 12)

  • G - 24 小時制的小時 (0 到 23)

  • h - 12 小時制的小時 (01 到 12)

  • H - 24 小時制的小時 (00 到 23)

  • i - 帶前導零的分鐘 (00 到 59)

  • s - 帶前導零的秒數 (00 到 59)

  • e - 時區識別符號(例如:UTC、Atlantic/Azores)

  • I (大寫 i) - 日期是否處於夏令時(如果為夏令時則為 1,否則為 0)

  • O - 與格林威治時間 (GMT) 的小時差(例如:+0100)

  • T - PHP 機器上的時區設定(例如:EST、MDT)

  • Z - 時區偏移量(以秒為單位)。UTC 以西的偏移量為負,UTC 以東的偏移量為正(-43200 到 43200)

  • c - ISO-8601 日期(例如 2004-02-12T15:19:21+00:00)

  • r - RFC 2822 格式的日期(例如 Thu, 21 Dec 2000 16:01:07 +0200)

  • U - 自 Unix 紀元(1970 年 1 月 1 日 00:00:00 GMT)以來的秒數

php_function_reference.htm
廣告