MySQL 常見時間獲取整理(當日、當月、當年、上一日、上一月、上一年,當月第一天,當年第一天等等)


當前時間 

SELECT now(); //當前時間,格式2020-09-02 16:00:02
SELECT curdate(); //當前日期,格式2020-09-02
SELECT date_format(now(),'%Y-%m-%d'); //當前日期,格式2020-09-02

當月

select date_add(curdate(),interval -day(curdate())+1 day) ; //當月第一天,例如2020-09-01
select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now())-1 day),interval 0 month); 當月第一天,格式2020-09-01
select last_day(curdate());//當月最后一天,格式2020-09-30
select day(curdate()); //當月已過了幾天,格式整數,例如2
select day(date_add( date_add(curdate(),interval 1 month),interval -day(curdate()) day )); //當前月天數(先加一個月,再減今天是第幾天,得到當前月的最后一天,最后求最后一天是幾號)

時間加減

 

select date_add(NOW(), interval 1 month); //下個月當前時間,格式2020-08-02 16:00:02
select date_sub(NOW(), interval 1 month); //上個月當前時間,格式2020-10-02 16:00:02
select date_add(curdate() - day(curdate()) +1,interval 1 month); //下個月的第一天,格式2020-10-01
select date_sub(curdate() - day(curdate()) +1,interval 1 month); //上個月的第一天,格式2020-08-01
select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now())-1 day),interval 1 month); //上個月的第一天,格式2020-10-01
select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval 0 month) as date; //上個月的最后一天,格式2020-10-01
select date_add(curdate(), interval 1 day);//明日,格式2020-09-03
select date_sub(curdate(), interval 1 day);//昨日,格式2020-09-01

 

當年

concat(year(now()),'-01-01')//當前年份的第一天
concat(year(now()),'-12-31')//當前年份的最后一天

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM