在 PHP 中,date() 函數是格式化日期時間的核心工具。透過傳入格式化字串,我們可以輕鬆獲取各種日期時間格式。例如:
echo date('Y-m-d H:i:s'); // 輸出:2024-01-15 14:30:45
格式字串 Y-m-d H:i:s 分別代表:四位數年份-兩位數月份-兩位數日期 兩位數小時(24制):兩位數分鐘:兩位數秒數。掌握各個格式參數的含義,就能自由組合出所需的時間格式。
| 參數 | 說明 | 範例輸出 |
|---|---|---|
| a | 小寫上午/下午標記 | am / pm |
| A | 大寫上午/下午標記 | AM / PM |
| d | 月份中的第幾日(補零) | 01 至 31 |
| D | 星期幾縮寫(三字母) | Mon 至 Sun |
| F | 月份完整英文名稱 | January 至 December |
| h | 12小時制小時(補零) | 01 至 12 |
| H | 24小時制小時(補零) | 00 至 23 |
| g | 12小時制小時(不補零) | 1 至 12 |
| G | 24小時制小時(不補零) | 0 至 23 |
| i | 分鐘(補零) | 00 至 59 |
| j | 月份中的第幾日(不補零) | 1 至 31 |
| l | 星期幾完整英文名稱 | Monday 至 Sunday |
| m | 月份數字(補零) | 01 至 12 |
| n | 月份數字(不補零) | 1 至 12 |
| M | 月份縮寫(三字母) | Jan 至 Dec |
| s | 秒數(補零) | 00 至 59 |
| S | 日期英文序數後綴 | st, nd, rd, th |
| t | 指定月份總天數 | 28 至 31 |
| U | Unix 時間戳(總秒數) | 1705312245 |
| w | 星期數字表示 | 0(週日) 至 6(週六) |
| Y | 四位數年份 | 2024 |
| y | 兩位數年份 | 24 |
| z | 一年中的第幾天 | 0 至 365 |
中文日期格式:
echo date('Y年m月d日 l H:i:s'); // 2024年01月15日 Monday 14:30:45
只有日期:
echo date('Y/m/d'); // 2024/01/15
12小時制帶AM/PM:
echo date('h:i:s A'); // 02:30:45 PM
搭配 strtotime() 可處理相對時間:
echo date('Y-m-d', strtotime('+1 week')); // 一週後的日期
echo date('Y-m-d', strtotime('last Friday')); // 上週五的日期
記得設定正確時區:
date_default_timezone_set('Asia/Taipei'); // 或 PRC