PHP Date/Time 簡介
Date/Time 函數允許您從 PHP 腳本運行的服務器上獲取日期和時間。您可以使用 Date/Time 函數通過不同的方式來格式化日期和時間。
注釋:這些函數依賴于服務器的本地設置。使用這些函數時請記住要考慮夏令時和閏年。
安裝
PHP Date/Time 函數是 PHP 核心的組成部分。無需安裝即可使用這些函數。
Runtime 配置
Date/Time 函數的行為受到 php.ini 中設置的影響:
名稱 |
描述 |
默認 |
PHP 版本 |
date.timezone |
默認時區(所有的 Date/Time 函數使用該選項) |
"" |
PHP 5.1 |
date.default_latitude |
默認緯度(date_sunrise() 和 date_sunset() 使用該選項) |
"31.7667" |
PHP 5.0 |
date.default_longitude |
默認經度(date_sunrise() 和 date_sunset() 使用該選項) |
"35.2333" |
PHP 5.0 |
date.sunrise_zenith |
默認日出天頂(date_sunrise() 和 date_sunset() 使用該選項) |
"90.83" |
PHP 5.0 |
date.sunset_zenith |
默認日落天頂(date_sunrise() 和 date_sunset() 使用該選項) |
"90.83" |
PHP 5.0 |
定義和用法
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 參數。 |
常用的幾個參數
Y |
4位數字年,y為2位數字,如99即1999年 |
m |
數字月份,前面有前導0,如01。n 為無前導0數字月份 |
F |
月份,完整的文本格式,例如 January 或者 March |
M |
三個字母縮寫表示的月份,例如 Jan 或者 Mar |
d |
月份中的第幾天,前面有前導0,如03。j 為無前導0的天數 |
w |
星期中的第幾天,以數字表示,0表示星期天 |
z |
年份中的第幾天,范圍0-366 |
W |
年份中的第幾周,如第32周 |
H |
24小時格式,有前導0,h為12小時格式 |
G |
24小時格式,無前導0,g為對應12小時格式 |
i |
分鐘格式,有前導0 |
s |
秒格式,有前導0 |
A |
大寫上下午,如AM,a為小寫 |
實例代碼一
echo date("Y-m-d",time());
echo "br>";
echo date("Y.m.d",time());
echo "br>";
echo date("M d Y",time());
echo "br>";
echo date("Y-m-d H:i",time());

OK!
實例代碼二
格式化本地日期和時間,并返回格式化的日期字符串:
?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-10-3 15:49:36
2018 年 10 月 03 日 15 點 49 分 36 秒
2018-10-3 15:49:36
代碼三、通過date函數格式化時間戳
echo date('Y-m-d h:i:s', time()); // 2016-12-31 05:07:05
這篇文章就介紹到這了,腳本之家小編根據多篇文章整合,希望能幫助到大家。
您可能感興趣的文章:- PHP如何通過date() 函數格式化顯示時間
- PHP date()格式MySQL中插入datetime方法
- js模仿php中strtotime()與date()函數實現方法
- PHP date()函數警告: It is not safe to rely on the system解決方法
- 關于php程序報date()警告的處理(date_default_timezone_set)
- PHP中time(),date(),mktime()區別介紹
- PHP函數之日期時間函數date()使用詳解
- PHP格式化顯示時間date()函數案例講解