参考文档
MySQL获取某月份的天数:https://www.xiaobo.li/?p=177
常用时间获取
获取本月第一天
# 2019-08-01 SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY) AS first_day_of_the_month
获取本月最后一天
# 2019-08-31 SELECT LAST_DAY(CURDATE()) AS last_day_of_the_month
获取当月天数
# 第一种算法 31 SELECT TIMESTAMPDIFF(DAY,CURDATE(),(DATE_ADD(CURDATE(),INTERVAL 1 MONTH))) AS number_of_days_in_the_month # 第二种算法 31 SELECT DATEDIFF(DATE_ADD(CURDATE()-DAY(CURDATE())+1,INTERVAL 1 MONTH ),DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AS number_of_days_in_the_month
ADDDATE(添加日期)
https://www.w3schools.com/sql/func_mysql_adddate.asp
ADDDATE()函数将时间/日期间隔添加到日期,然后返回日期。
语法
ADDDATE(date, INTERVAL value addunit)
或
ADDDATE(date, days)
增加3天(默认)
SELECT ADDDATE("2017-06-15 09:34:21", 3);
添加15分钟
SELECT ADDDATE("2017-06-15 09:34:21", INTERVAL 15 MINUTE);
减少3个小时
SELECT ADDDATE("2017-06-15 09:34:21", INTERVAL -3 HOUR);
减少2个月
SELECT ADDDATE("2017-06-15", INTERVAL -2 MONTH);