文章目录
- DATE_FORMAT()函数
-
- 显示今天是星期几
- 只显示年月
- 显示当前时间的分钟数和秒数
DATE_FORMAT()函数
前面使用日期时间函数,获取到的要么是 yyyy-mm-dd 形式的日期,要么是 hh:MM:ss 形式的时间,或者是 yyyy-mm-dd hh:mm:ss 形式的日期及时间,其输出格式都已经确定。但在日常生活中,而每次提及日期时间信息都有不同的关注侧面,如:我只想知道今天是几号,或者是星期几,或者时间是几点几分。这时可以使用 DATE_FORMAT() 函数来根据自己的需求获取指定的日期时间信息。
DATE_FORMAT ,日期格式化,顾名思义,可以将日期格式化为各种各样的形式。首先来看一下 MySQL 中都支持哪些日期时间格式。常用格式如下所示。
格式 | 描述 | 格式 | 描述 |
---|---|---|---|
%a | 缩写星期名 | %W | 星期名 |
%b | 缩写月名 | %P | AM 或 PM |
%c | 月(1-12) | %m | 月(01-12) |
%D | 带英文缩写的月中某天 | %d | 日(00-31) |
%M | 英文月名 | %f | 微秒 |
%T | 时间,24 小时制(hh:mm:ss) | %S | 秒 |
%H | 小时(00-23) | %k | 小时(0-23) |
%h | 小时(01-12) | %I | 小时(1-12) |
%i | 分钟,数值(00-59) | %Y | 4 位数的年份 |
%j | 年中某天(001-366) | %y | 2 位数的年份 |
下面来做一些具体演示。
显示今天是星期几
MariaDB [(none)]> select date_format(now(), '%W');
+--------------------------+
| date_format(now(), '%W') |
+--------------------------+
| Wednesday |
+--------------------------+
1 row in set (0.000 sec)
上面例子可以使用 %a
代替 %W
,输出结果为 Wed。
只显示年月
只显示年月,且年用四位数字形式来表示,年月之间使用 -
连接
MariaDB [(none)]> select date_format(now(), '%Y-%c');
+-----------------------------+
| date_format(now(), '%Y-%c') |
+-----------------------------+
| 2023-5 |
+-----------------------------+
1 row in set (0.000 sec)
年份只显示两位,则上面例子可以使用 %y
代替 %Y
,输出结果为 20-7。
显示当前时间的分钟数和秒数
显示当前时间的分钟数和秒数,分和秒之间用 :
连接。
MariaDB [(none)]> select date_format(curtime(), '%i:%S');
+---------------------------------+
| date_format(curtime(), '%i:%S') |
+---------------------------------+
| 45:36 |
+---------------------------------+
1 row in set (0.000 sec)
该函数的输出形式非常灵活,可以根据需要进行任意输出格式的搭配,这里就不一一进行举例说明了。读者朋友们可以在自己的数据库环境中使用 date_formate() 函数来熟悉这些日期时间格式。