MySQL 对日期使用 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() 函数来熟悉这些日期时间格式。

猜你喜欢

转载自blog.csdn.net/m0_62617719/article/details/130840551