MySql 日期
当前时间 select now()
一、日期
NOW():"2021-09-03 10:01:47" -- 日期带时分秒
CURDATE() :"2021-09-03" -- 日期不带时分秒
DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s') --自定义日期格式(Y:必须大写,m:必须小写)
如:SELECT DATE_FORMAT('2021-09-03 9:08:09','%Y-%m-%d %h:%i:%s') 输出:2021-09-03 09:08:09
二、时间算法
DATE_SUB:日期减(之前);
DATE_ADD:日期加(将来)
一小时前:SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR)
一小时后:SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR)
昨天:SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)
明天:SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY)
上月:SELECT DATE_SUB(CURDATE(), INTERVAL 1 month)
下月:SELECT DATE_ADD(CURDATE(), INTERVAL 1 month)
去年:SELECT DATE_SUB(CURDATE(), INTERVAL 1 year)
明年:SELECT DATE_ADD(CURDATE(), INTERVAL 1 year)
三、例子
date_sub('2017-08-01',interval 1 day) 表示 2017-07-31
date_sub('2017-08-01',interval 0 day) 表示 2017-08-01
date_sub('2017-08-01',interval -1 day) 表示 2017-08-02
date_sub('2017-07-31',interval -1 day) 表示 2017-08-01
date_sub(curdate(),interval 1 day) 表示 2017-07-31
date_sub(curdate(),interval -1 day) 表示 2017-08-02
date_sub(curdate(),interval 1 month) 表示 2017-07-01
date_sub(curdate(),interval -1 month) 表示 2017-09-01
date_sub(curdate(),interval 1 year) 表示 2016-08-01
date_sub(curdate(),interval -1 year) 表示 2018-08-01