PHP date() 函數

PHP Date/Time PHP Date/Time 參考手冊

實例

格式化本地日期和時間,並返回格式化的日期字串:

<?php // 設置時區 date_default_timezone_set("PRC"); // 列印當前時間 PHP_EOL 換行符,相容不同系統 echo date("Y-m-d H:i:s") . PHP_EOL; echo date("Y 年 m 月 d 日 H 點 i 分 s 秒") . PHP_EOL; // 指定時間 $time = strtotime("2018-01-18 08:08:08"); // 將指定日期轉成時間戳 echo date("Y-m-d H:i:s", $time) . PHP_EOL; ?>

輸出如下所示:

2018-01-31 22:09:35
2018 年 01 月 31 日 22 點 09 分 35 秒

2018-01-18 08:08:08

定義和用法

date() 函數格式化本地日期和時間,並返回格式化的日期字串。

語法

date(format,timestamp);

返回將整數 timestamp 按照給定的格式字串而產生的字串。如果沒有給出時間戳則使用本地當前時間。換句話說,timestamp 是可選的,默認值為 time()。


參數 描述
format 必需。規定輸出日期字串的格式。可使用下列字元:
  • d - 一個月中的第幾天(從 01 到 31)
  • D - 星期幾的文本表示(用三個字母表示)
  • j - 一個月中的第幾天,不帶前導零(1 到 31)
  • l('L' 的小寫形式)- 星期幾的完整的文本表示
  • N - 星期幾的 ISO-8601 數字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日])
  • S - 一個月中的第幾天的英語序數尾碼(2 個字元:st、nd、rd 或 th。與 j 搭配使用)
  • w - 星期幾的數字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六])
  • z - 一年中的第幾天(從 0 到 365)
  • W - 用 ISO-8601 數字格式表示一年中的星期數字(每週從 Monday[星期一]開始)
  • F - 月份的完整的文本表示(January[一月份] 到 December[十二月份])
  • 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 Time(000 到 999)
  • g - 12 小時制,不帶前導零(1 到 12)
  • G - 24 小時制,不帶前導零(0 到 23)
  • h - 12 小時制,帶前導零(01 到 12)
  • H - 24 小時制,帶前導零(00 到 23)
  • i - 分,帶前導零(00 到 59)
  • s - 秒,帶前導零(00 到 59)
  • u - 微秒(PHP 5.2.2 中新增的)
  • e - 時區識別字(例如:UTC、GMT、Atlantic/Azores)
  • I(i 的大寫形式)- 日期是否是在夏令時(如果是夏令時則為 1,否則為 0)
  • O - 格林威治時間(GMT)的差值,單位是小時(實例:+0100)
  • P - 格林威治時間(GMT)的差值,單位是 hours:minutes(PHP 5.1.3 中新增的)
  • T - 時區的簡寫(實例:EST、MDT)
  • Z - 以秒為單位的時區偏移量。UTC 以西時區的偏移量為負數(-43200 到 50400)
  • c - ISO-8601 標準的日期(例如 2013-05-05T16:34:42+00:00)
  • r - RFC 2822 格式的日期(例如 Fri, 12 Apr 2013 12:01:05 +0200)
  • U - 自 Unix 紀元(January 1 1970 00:00:00 GMT)以來經過的秒數

同時,也可使用下列預定義常量(從 PHP 5.1.0 開始可用):

  • DATE_ATOM - Atom(例如:2013-04-12T15:52:01+00:00)
  • DATE_COOKIE - HTTP Cookies(例如:Friday, 12-Apr-13 15:52:01 UTC)
  • DATE_ISO8601 - ISO-8601(例如:2013-04-12T15:52:01+0000)
  • DATE_RFC822 - RFC 822(例如:Fri, 12 Apr 13 15:52:01 +0000)
  • DATE_RFC850 - RFC 850(例如:Friday, 12-Apr-13 15:52:01 UTC)
  • DATE_RFC1036 - RFC 1036(例如:Fri, 12 Apr 13 15:52:01 +0000)
  • DATE_RFC1123 - RFC 1123(例如:Fri, 12 Apr 2013 15:52:01 +0000)
  • DATE_RFC2822 - RFC 2822(Fri, 12 Apr 2013 15:52:01 +0000)
  • DATE_RFC3339 - 與 DATE_ATOM 相同(從 PHP 5.1.3 開始)
  • DATE_RSS - RSS(Fri, 12 Aug 2013 15:52:01 +0000)
  • DATE_W3C - 萬維網聯盟(例如:2013-04-12T15:52:01+00:00)
timestamp 可選。規定一個整數的 Unix 時間戳。默認是當前的本地時間(time())。

技術細節

返回值: 如果成功則返回格式化的日期字串,如果失敗則報 E_WARNING 錯並返回 FALSE。
PHP 版本: 4+
更新日誌: PHP 5.1.0:新增 E_STRICT 和 E_NOTICE 時區錯誤。有效範圍的時間戳是從 1901 年 12 月 13 日 20:45:54 GMT 星期五 到 2038 年 1 月 19 日 03:14:07 GMT 星期二。5.1.0 之前的版本,在某些系統上(例如 Windows)時間戳被限制在從 01-01-1970 到 19-01-2038。
PHP 5.1.1:新增標準日期/時間格式常量,用於指定 format 參數。


PHP Date/Time PHP Date/Time 參考手冊