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

posted @ 2021-09-13 10:18  秋飘  阅读(132)  评论(0编辑  收藏  举报