DATE_FORMAT函数是MySQL中用于格式化日期和时间的函数,其基本语法为:
DATE_FORMAT(date, format)
- date:要格式化的日期或日期时间字段。
- format:用于指定输出格式的字符串,包含多个格式化符号。
常见格式化符号及其含义
- %Y:4位数字表示的年份(例如:2024)
- %y:2位数字表示的年份(例如:24)
- %M:月份的全称(例如:January)
- %m:2位数字表示的月份(例如:01)
- %d:2位数字表示的日(例如:18)
- %H:24小时制的小时(例如:16)
- %h 或 %I:12小时制的小时(例如:04)
- %i:分钟(例如:26)
- %s:秒(例如:42)
- %p:AM或PM(仅限于12小时制)
- %W:星期几的全称(例如:Wednesday)
- %w:星期几的数字表示(例如:3表示星期三)
- %j:一年中的第几天(1 到 366)
- %U 或 %u:一年中的第几周(00 到 53)
使用示例
mysql> SELECT date_format(1639408020, '%Y年%m月%d日 %H:%i:%s');
+-----------------------------------------------------+
| date_format(1639408020, '%Y年%m月%d日 %H:%i:%s') |
+-----------------------------------------------------+
| NULL |
+-----------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> SELECT date_format(now(), '%Y年%m月%d日 %H:%i:%s');
+------------------------------------------------+
| date_format(now(), '%Y年%m月%d日 %H:%i:%s') |
+------------------------------------------------+
| 2022年02月24日 21:18:07 |
+------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT date_format(now(), '%d-%M-%Y %H:%i:%s') as v1;
+---------------------------+
| v1 |
+---------------------------+
| 26-February-2022 15:30:58 |
+---------------------------+
1 row in set (0.00 sec)
mysql> SELECT date_format(now(), '%D-%M-%Y %H:%i:%s') as v1;
+-----------------------------+
| v1 |
+-----------------------------+
| 26th-February-2022 15:31:18 |
+-----------------------------+
1 row in set (0.00 sec)
mysql> SELECT date_format(now(), '%D-%M-%y %H:%i:%s') as v1;
+---------------------------+
| v1 |
+---------------------------+
| 26th-February-22 15:31:34 |
+---------------------------+
1 row in set (0.00 sec)
mysql> SELECT date_format('2022-02-12 23:32:22', '%d-%m-%Y %H:%i:%s') as v1;
+---------------------+
| v1 |
+---------------------+
| 12-02-2022 23:32:22 |
+---------------------+
1 row in set (0.00 sec)
end