PHP 的 date() 函數是處理日期時間格式化的核心工具。本文系統整理了常用格式字符的含義、輸出示例及注意事項,幫助開發者快速掌握日期時間顯示技巧。
| 格式字符 | 說明 | 示例輸出 |
|---|---|---|
Y | 四位數年份 | 2007 |
y | 兩位數年份 | 07 |
m | 月份,帶前導零 | 02 |
n | 月份,不帶前導零 | 2 |
F | 月份英文全稱 | February |
M | 月份三字母縮寫 | Feb |
d | 月份中的第幾天,帶前導零 | 06 |
j | 月份中的第幾天,不帶前導零 | 6 |
S | 日期序數後綴(st, nd, rd, th) | th |
組合示例:
date('Y-m-d') → 2007-02-06(標準 ISO 日期格式)date('Y-F-jS') → 2007-February-6th(長格式)date('y-n-j') → 07-2-6(精簡格式)| 格式字符 | 說明 | 示例輸出 |
|---|---|---|
g | 12 小時制,不帶前導零 | 5 |
h | 12 小時制,帶前導零 | 05 |
G | 24 小時制,不帶前導零 | 14 |
H | 24 小時制,帶前導零 | 14 |
i | 分鐘,帶前導零 | 56 |
s | 秒,帶前導零 | 57 |
a | 小寫 am/pm | am |
A | 大寫 AM/PM | AM |
關鍵提醒: PHP 預設使用「格林威治標準時間」(GMT/UTC),與中國標準時間(CST,UTC+8)相差 8 小時。生產環境務必在 php.ini 設置 date.timezone = Asia/Shanghai 或代碼中調用 date_default_timezone_set('Asia/Shanghai')。
組合示例:
date('g:i:s a') → 5:56:57 amdate('H:i:s') → 14:02:26| 格式字符 | 說明 | 示例輸出 |
|---|---|---|
L | 是否閏年(1=是,0=否) | 0 |
l | 星期幾英文全稱 | Tuesday |
D | 星期幾三字母縮寫 | Tue |
w | 星期幾數字(0=週日,6=週六) | 2 |
W | 年中的第幾週(ISO-8601) | 06 |
t | 當月總天數 | 28 |
z | 年中的第幾天(0-365) | 36 |
| 格式字符 | 說明 | 示例輸出 |
|---|---|---|
T | 服務器時區設置 | UTC |
I | 是否夏令時(1=是,0=否) | 0 |
U | Unix 時間戳(自 1970-01-01 秒數) | 1170769424 |
c | ISO 8601 格式 | 2007-02-06T14:24:43+00:00 |
r | RFC 2822 格式 | Tue, 06 Feb 2007 14:25:52 +0000 |
define('DATE_FMT', 'Y-m-d H:i:s')),便於維護。DateTime 類功能更強大(時區轉換、日期運算、不可變對象),複雜場景優先使用。date() 函數雖然參數眾多,但掌握核心字符分類(年月日、時分秒、星期天數、標準格式)即可應對 90% 場景。配合正確的時區設置,能夠可靠地生成各種業務所需的日期時間字符串。