MariaDB 日期格式说明符

在 MariaDB 中, DATE_FORMAT() 函数用于格式化日期时间值,它需要通过格式说明符指定要输出的格式。

下面是 MariaDB 支持的所有的格式说明符, 您可以将他们组合起来应用于上面的函数。

格式说明符 说明
%a 当前区域设置中的简短工作日名称。
%b 当前区域设置中的短格式月份名称。例如英语环境中的 Feb
%c 使用 1 位或 2 位数字的月份。
%D 带英文后缀(th, nd, st, rd)的天(比如 1st, 2nd, 3rd…)
%d 使用 2 位数字的日。
%e 使用 1 或 2 位数字的日。
%f 使用 6 位数字的小数秒。
%H 使用 2 位数字的小时 (00-23)。
%h 使用 2 位数字的小时 (01-12)。
%I 使用 2 位数字的小时 (01-12)。
%i 使用 2 位数字的分钟 (00-59)。
%j 一年中的一天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 当前区域设置中的完整月份名称。
%m 月份,2 位数字 (01-12)。
%p 根据当前区域设置的 AM/PM。
%r 时间采用 12 小时格式,后跟 AM/PM%I:%i:%S %p 的简写。
%S 使用 2 位数字的秒 (00-59)。
%s 使用 2 位数字的秒 (00-59)。
%T 24 小时格式的时间。%H:%i:%S 的简写。
%U 周数 (00-53),星期日是一周的第一天。
%u 周数 (00-53),星期一是一周的第一天。
%V 周数 (01-53),星期日是一周的第一天,与 %X 一起使用。
%v 周数 (01-53),星期一是一周的第一天,与 %x 一起使用。
%W 当前区域设置中的完整工作日名称。
%w 星期几。0 = 星期日,6 = 星期六。
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年份为 4 位数字。
%y 年份为 2 位数字。
%# 对于 STR_TO_DATE(),跳过所有数字。
%. 对于 STR_TO_DATE(),跳过所有标点字符。
%@ 对于 STR_TO_DATE(),跳过所有字母字符。
%% % 字符。

您可以在 DATE_FORMAT() 函数中组合使用这些格式说明符,如下:

SELECT DATE_FORMAT('2022-01-02 03:04:15', '%Y/%m/%d %r %W');

输出:

+------------------------------------------------------+
| DATE_FORMAT('2022-01-02 03:04:15', '%Y/%m/%d %r %W') |
+------------------------------------------------------+
| 2022/01/02 03:04:15 AM Sunday                        |
+------------------------------------------------------+

同样,格式说明符也可用于 STR_TO_DATE()FROM_UNIXTIME() 等转换函数。