MySQL DATE_FORMAT 参数详解
DATE_FORMAT(date, format)
函数用于将日期 / 时间按指定格式输出。以下是完整的格式参数说明:
格式参数表
格式符 | 描述 | 示例值(假设日期为 2023-10-05 14:30:45 ) |
---|---|---|
%a |
缩写的星期名 | Thu (Thu) |
%b |
缩写的月份名 | Oct (Oct) |
%c |
月份数值(0-12) | 10 (10) |
%D |
带英文后缀的日期(1st, 2nd) | 5th (5th) |
%d |
两位日期(01-31) | 05 (05) |
%e |
日期(1-31)不带前导零 | 5 (5) |
%f |
微秒(000000-999999) | 000000 (默认无微秒) |
%H |
24 小时制小时(00-23) | 14 (14) |
%h |
12 小时制小时(01-12) | 02 (02) |
%I |
同 %h |
02 (02) |
%i |
分钟(00-59) | 30 (30) |
%j |
一年中的第几天(001-366) | 278 (278) |
%k |
24 小时制小时(0-23)不带前导零 | 14 (14) |
%l |
12 小时制小时(1-12)不带前导零 | 2 (2) |
%M |
完整的月份名 | October (October) |
%m |
两位月份(01-12) | 10 (10) |
%p |
AM/PM | PM (PM) |
%r |
12 小时制时间(hh:mm:ss AM/PM) | 02:30:45 PM (02:30:45 PM) |
%S |
秒(00-59) | 45 (45) |
%s |
同 %S |
45 (45) |
%T |
24 小时制时间(hh:mm:ss) | 14:30:45 (14:30:45) |
%U |
周数(00-53,周日为一周起点) | 40 (取决于具体日期) |
%u |
周数(00-53,周一为一周起点) | 40 (取决于具体日期) |
%V |
同 %U (与 %X 配合使用) |
40 |
%v |
同 %u (与 %x 配合使用) |
40 |
%W |
完整的星期名 | Thursday (Thursday) |
%w |
星期几(0= 周日, 6= 周六) | 4 (Thursday=4) |
%X |
四位年份(与 %V 配合使用) |
2023 (2023) |
%x |
四位年份(与 %v 配合使用) |
2023 (2023) |
%Y |
四位年份 | 2023 (2023) |
%y |
两位年份 | 23 (23) |
%% |
输出字符 % |
% (%) |
使用示例
-- 示例 1: 标准日期格式
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 2023-10-05 14:30:45
-- 示例 2: 带英文描述的日期
SELECT DATE_FORMAT('2023-10-05', '%W, %M %e, %Y'); -- Thursday, October 5, 2023
-- 示例 3: 12 小时制时间
SELECT DATE_FORMAT('2023-10-05 14:30:45', '%r'); -- 02:30:45 PM