31  
查询码: 00000104
MySQL计算两个日期相差的天数、月数、年数 - 缘故为何 - 博客园
来源:https://www.cnblogs.com/i-tao/p/11419900.html
作者: 周杨 于 2021年04月07日 发布在分类 / 计算机应用 / 数据库 / MySql ,于 2021年04月07日 编辑
select 相差 日期 timestampdiff format date_format 当前 前日 date_sub



MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数、分钟数、小时数、天数、周数、季度数、月数、年数,当前日期增加或者减少一天、一周等等。


SELECT TIMESTAMPDIFF(类型,开始时间,结束时间)


相差的秒数:


SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的分钟数:


SELECT TIMESTAMPDIFF(MINUTE,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的小时数:


SELECT TIMESTAMPDIFF(HOUR,'1993-03-23 00:00:00 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的天数:


SELECT TIMESTAMPDIFF(DAY,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的周数:


SELECT TIMESTAMPDIFF(WEEK,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的季度数:


SELECT TIMESTAMPDIFF(QUARTER,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的月数:


SELECT TIMESTAMPDIFF(MONTH,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


相差的年数:


SELECT TIMESTAMPDIFF(YEAR,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))


获取当前日期:


SELECT NOW() SELECT CURDATE() 


当前日期增加一天:


SELECT DATE_SUB(CURDATE(),INTERVAL -1 DAY) 


当前日期减少一天:


SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY) 


当前日期增加一周:


SELECT DATE_SUB(CURDATE(),INTERVAL -1 WEEK)


当前日期增加一月:


SELECT DATE_SUB(CURDATE(),INTERVAL -1 MONTH)

SELECT DATE_SUB(NOW(),INTERVAL -1 MONTH)


  • FRAC_SECOND  毫秒
  • SECOND  秒
  • MINUTE  分钟
  • HOUR  小时
  • DAY  天
  • WEEK  星期
  • MONTH  月
  • QUARTER  季度
  • YEAR  年


 历史版本

备注 修改日期 修改人
CREAT 2021-04-07 15:23:38[当前版本] 系统管理员

知识分享平台 -V 5.1.4 -大信谛威