SQL中TIMESTAMPDIFF()计算两个时间日期的时间差、DATE_SUB()计算某个日期前的具体日期时间、DATE_ADD()计算某个日期后的具体日期时间对日期进行加减操作解析:
1. TIMESTAMPDIFF()使用方法:
# 计算两个日期时间的时间差值
TIMESTAMPDIFF(time_type, begin_time, end_time)
-- time_type参数(最后获取时间差的单位)
/**
SECOND / 秒
MINUTE / 分钟
HOUR / 小时
DAY / 天
MONTH / 月
YEAR / 年
*/
-- begin_time 开始时间或开始时间字段
-- end_time 结束时间或结束时间字段
例如:获取某两个时间的时间差(结果以秒单位显示)
TIMESTAMPDIFF(SECOND, ‘2021-06-06 01:10:10‘, ‘2021-06-06 01:11:10‘)
2. DATE_SUB()使用方法:
# 计算某个日期前的日期具体时间
DATE_SUB(date_time, INTERVAL time_size time_type)
-- date_time参数(以某个时间为参考值)
/**
NOW() 获取当前系统日期与时间(年月日时分秒)
CURDATE() 获取当前系统日期(年月日)
或者直接写一个具体日期值作为参考时间
*/
-- time_size 具体时间数
-- time_type参数(最后获取时间差的单位)
/**
SECOND / 秒
MINUTE / 分钟
HOUR / 小时
DAY / 天
MONTH / 月
YEAR / 年
*/
例如:获取当前日期30天前的日期
DATE_SUB(CURDATE(), INTERVAL 30 DAY)
3. DATE_ADD()使用方法:
# 计算某个日期后的日期具体时间
DATE_ADD(date_time, INTERVAL time_size time_type)
-- date_time参数(以某个时间为参考值)
/**
NOW() 获取当前系统日期与时间(年月日时分秒)
CURDATE() 获取当前系统日期(年月日)
或者直接写一个具体日期值作为参考时间
*/
-- time_size 具体时间数
-- time_type参数(最后获取时间差的单位)
/**
SECOND / 秒
MINUTE / 分钟
HOUR / 小时
DAY / 天
MONTH / 月
YEAR / 年
*/
例如:获取当前日期30天后的日期
DATE_ADD(CURDATE(), INTERVAL 30 DAY)
小拓展
NOW() -- 获取当前系统日期及时间(年月日时分秒)
CURDATE() -- 获取当前系统日期(年月日)
DATE(‘2021-06-06 01:22:10‘) -- 获取日期时间的日期(年月日)
TIME(‘2021-06-06 01:22:10‘) -- 获取日期时间的时间(时分秒)
SQL中TIMESTAMPDIFF()计算两个时间日期的时间差、DATE_SUB()计算某个日期前的具体日期时间、DATE_ADD()计算某个日期后的具体日期时间对日期进行加减操作解析