改变MySQL中的当前日期curdate()格式
MySQL中提供了很多内置函数,在使用中我们会遇到日期操作,比如要获取当前日期,MySQL里提供了一个CURDATE()函数,它可以返回当前日期,那么这个日期的格式是什么呢?常见的格式类似于YYYY-MM-DD
。
但有时候我们需要用到其他的日期格式,怎么办呢?本篇文章将介绍如何改变CURDATE()返回的日期格式。
阅读更多:MySQL 教程
使用DATE_FORMAT函数
MySQL提供了DATE_FORMAT函数,它可以将日期转换为不同的格式。如果我们想把CURDATE()的格式更改为YYYY年MM月DD日
的格式:
SELECT DATE_FORMAT(CURDATE(), '%Y年%m月%d日');
运行结果为:
+---------------------------+
| DATE_FORMAT(CURDATE(), '%Y年%m月%d日')|
+---------------------------+
| 2021年08月22日 |
+---------------------------+
这样我们就把默认的日期格式更改了。
格式参数
在DATE_FORMAT函数中,需要传递一个格式参数,这个参数告诉MySQL我们要将日期转换成哪种格式。格式参数是一个字符串,其中可以包含转义字符和日期格式化占位符。
下面是一些常用的日期格式化占位符:
格式化占位符 | 描述 |
---|---|
%Y | 4位数的年份 |
%m | 月份(01到12) |
%d | 月份中的天数(01到31) |
%H | 小时(00到23) |
%i | 分钟(00到59) |
%s | 秒(00到59) |
下面是一些常用的转义字符:
转义字符 | 描述 |
---|---|
\’ | 单引号 |
\” | 双引号 |
\ | 反斜杠 |
\n | 换行 |
\r | 回车 |
\t | 制表符 |
可以使用这些占位符和转义字符来构建自己的日期格式。
时间格式化示例
下面列举了几种常见的日期格式化示例:
标准日期格式
默认情况下,DATE_FORMAT函数使用的是’YYYY-MM-DD’格式:
SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d');
运行结果为:
+---------------------------+
| DATE_FORMAT(CURDATE(), '%Y-%m-%d')|
+---------------------------+
| 2021-08-22 |
+---------------------------+
12小时制时间格式
SELECT DATE_FORMAT(CURDATE(), '%r');
运行结果为:
+-------------------+
| DATE_FORMAT(CURDATE(), '%r') |
+-------------------+
| 02:20:31 AM |
+-------------------+
24小时制时间格式
SELECT DATE_FORMAT(CURDATE(), '%H:%i:%s');
运行结果为:
+--------------------------+
| DATE_FORMAT(CURDATE(), '%H:%i:%s') |
+--------------------------+
| 02:20:31 |
+--------------------------+
结论
DATE_FORMAT函数是很有用的函数,在我们的日常工作中可能会经常用到它来改变日期的格式。我们可以通过传递不同的格式化占位符和转义字符来定制我们所需要的日期格式。