MySQL 取得目前日期時間與格式化輸出的核心函數 NOW()、DATE_FORMAT(date, format),附 30+ 格式化參數完整對照表,支援年月日、時分秒、星期、季度、AM/PM 等所有常見輸出需求。
SELECT NOW(); -- 2009-12-25 14:38:59 SELECT DATE_FORMAT(NOW(), '%y-%m-%d'); -- 09-12-25
| 符號 | 含義 | 範例 |
|---|---|---|
| %S, %s | 秒 (00-59) | 05 |
| %I, %i | 分 (00-59) | 30 |
| %H | 時 24h (00-23) | 14 |
| %h | 時 12h (01-12) | 02 |
| %k | 時 24h 無前導零 (0-23) | 14 |
| %l | 時 12h 無前導零 (1-12) | 2 |
| %T | 24h 時間 hh:mm:ss | 14:30:05 |
| %r | 12h 時間 hh:mm:ss AM/PM | 02:30:05 PM |
| %p | AM/PM | PM |
| %W | 星期全名 | Friday |
| %a | 星期縮寫 | Fri |
| %d | 月份中的天 (00-31) | 25 |
| %e | 月份中的天 無前導零 (1-31) | 25 |
| %D | 英文序數後綴 | 25th |
| %w | 星期數 (0=Sun .. 6=Sat) | 5 |
| %j | 年份中的天 (001-366) | 359 |
| %U | 週數 (0-52) 週日為首日 | 51 |
| %u | 週數 (0-52) 週一為首日 | 51 |
| %M | 月份全名 | December |
| %b | 月份縮寫 | Dec |
| %m | 月份 (01-12) | 12 |
| %c | 月份 無前導零 (1-12) | 12 |
| %Y | 四位數年份 | 2009 |
| %y | 兩位數年份 | 09 |
| %% | 字面 % 號 | % |
-- 完整中文格式 SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s'); -- 2024年01月15日 14:30:05 -- ISO 8601 SELECT DATE_FORMAT(NOW(), '%Y-%m-%dT%H:%i:%s'); -- 2024-01-15T14:30:05 -- 只取日期 SELECT DATE(NOW()); -- 等同 DATE_FORMAT(NOW(), '%Y-%m-%d')
提示:MySQL 8.0+ 另支援FORMAT()、TIMESTAMPDIFF()等進階函數,時區處理請參考CONVERT_TZ()。