1、MySQL是一款常用的关系型数据库管理系统,它支持多种方式获取当前日期。
1. 通过NOW()函数获取当前日期和时间
NOW()函数是MySQL内置的一个函数,它可以返回当前日期和时间。使用方法如下:
SELECT NOW(); -- 格式为“YYYY-MM-DD HH:MM:SS”。
2. 通过CURDATE()函数获取当前日期
CURDATE()函数可以返回当前日期。使用方法如下:
SELECT CURDATE(); -- 将会返回当前日期,格式为“YYYY-MM-DD”。
3. 通过CURRENT_DATE()函数获取当前日期
CURRENT_DATE()函数也可以返回当前日期。使用方法如下:
SELECT CURRENT_DATE(); --将会返回当前日期,格式为“YYYY-MM-DD”。
4. 通过SYSDATE()函数获取当前日期和时间
SYSDATE()函数和NOW()函数类似,也可以返回当前日期和时间。使用方法如下:
SELECT SYSDATE(); --格式为“YYYY-MM-DD HH:MM:SS”。
5. 通过DATE_FORMAT()函数格式化日期输出
DATE_FORMAT()函数可以将日期格式化为指定的格式。使用方法如下:
select DATE_FORMAT(NOW(),%Y-%m-%d %H:%i:%s'); --格式为“YYYY年MM月DD日 HH时MM分SS秒”。
注意:DATE_FORMAT具体格式操作参考下一篇文章mysql函数DATE_FORMAT()
2、 时间相差计算函数
2.1 计算时间日期差TIMEDIFF(expr1,expr2)
-- 计算日期差,expr1和expr2可以是date类型或者datetime类型,但是只计算相差几天
DATEDIFF(expr1,expr2)
2.2 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
具体的使用以及注意点可以参考之后的文章:mysql 函数TIMESTAMPDIFF()用法
-- 计算两个日期时间差,可以计算到年、季度、月、星期、天、时、分、秒
-- 注意计算的是datetime_expr2 - datetime_expr1 相差的值
-- 其中unit 就是计算关键,它可以是年、季度、月、星期、天、时、分、秒
--unit 所有定义参考 mysql 函数TIMESTAMPDIFF()用法
比如:
select TIMESTAMPDIFF(MINUTE,NOW(),SYSTEM())
或者
select TIMESTAMPDIFF(MINUTE,NOW(),'2023/09/13 12:00:00') --相差多少分钟
2.3 PERIOD_DIFF返回两个年份/月份值之间的月数差
-- P1 和 P2 为 YYYYMM 格式的两个日期值
-- PERIOD_DIFF() 函数的返回值是一个整数,表示两个日期之间的月份差,P1-P2的差
PERIOD_DIFF(p1,p2)
比如:
SELECT PERIOD_DIFF(202208, 202201) AS MonthDiff;
-- 输出为:7,即相差七个月