Mysql中常用的日期和时间函数:
函数 | 功能 |
---|---|
CURDATE() | 返回当前日期 |
CURTIME() | 返回当前时间 |
NOW() | 返回当前的日期和时间 |
DATEDIFF(expr,expr2) | 返回起始时间和结束时间之间的天数 |
DATE_FORMAT(date,fmt) | 返回按字符串fmt格式化日期的date值 |
通过实例讲解每个函数的使用方法:
eg:
1.CURDATE() 函数,返回当前日期,只包括年月日。
mysql> select curdate();
±-----------+
| curdate() |
±-----------+
| 2020-02-20 |
±-----------+
1 row in set (0.00 sec)
2.CURTIME()函数,返回当前时间,只包括时分秒。
mysql> select curtime();
±----------+
| curtime() |
±----------+
| 21:13:10 |
±----------+
1 row in set (0.00 sec)
3.NOW()函数,返回当前的日期和时间,包括年月日时分秒。
mysql> select now();
±--------------------+
| now() |
±--------------------+
| 2020-02-20 21:15:57 |
±--------------------+
1 row in set (0.00 sec)
4.DATE_FORMAT(date,fmt) 函数,此函数能够按指定的格式显示日期,常用到的格式如下表所示:
格式符 | 格式说明 |
---|---|
%S和%s | 两位数字形式的秒(00,01,…,59) |
%i | 两位数字形式的分(00,01,…,59) |
%H | 两位数字形式,24小时(00,01,…,23) |
%T | 24小时的时间形式(hh:mm:ss) |
%W | 一周中每一天的英文名称 |
%a | 一周中每一天的英文名称缩写 |
%Y | 四位数字表示的年份 |
%M | 月份名称英文名称 |
%D | 英文后缀表示月中的天数(1st,2nd,3rd,…) |
mysql> select date_format(now(),’%M,%D,%Y’);
±------------------------------+
| date_format(now(),’%M,%D,%Y’) |
±------------------------------+
| February,20th,2020 |
±------------------------------+
1 row in set (0.00 sec)
5.DATEDIFF(expr,expr2) 函数,用来计算两个日期之间相差的天数。
mysql> select DATEDIFF(‘2020-08-08’, now());
±------------------------------+
| DATEDIFF(‘2020-08-08’, now()) |
±------------------------------+
| 170 |
±------------------------------+
1 row in set (0.00 sec)
注:个人记录,并不全面。