mysql计算两个日期相差的天数、月数、年数

一、计算两个日期相差的天数

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

select timestampdiff(类型,开始时间,结束时间)

类型包括以下几种:

  • 秒数:second
  • 分钟数:minute
  • 小时数:hour
  • 天数:day
  • 周数:week
  • 月数:month
  • 季度数:quarter
  • 年数:year
  • 另外一个函数datediff也可以计算两个日期相差的天数,但是不能精确到小时、分钟和秒,即只比较日期部分,不比较时分秒;

    select datediff(类型,开始日期,结束日期)
    

    二、当前日期增加一天,一周,一月

    1、获取当前日期

    select now()
    select curdate()
    

    2、当前日期增加一天:

    select date_add(curdate(), interval 1 day)   ## date_add:增加
    select date_sub(curdate(), interval -1 day)  ## date_sub:减少