mysql日期 獲取本月第一天 獲取下個月的第一天

2021-10-05 15:33:47 字數 2566 閱讀 7388

select curdate(); --獲取當前日期

select last_day(curdate()); --獲取當月最後一天。

select date_add(curdate(),interval -day(curdate())+1 day); --獲取本月第一天

select date_add(curdate()-day(curdate())+1,interval 1 month); – 獲取下個月的第一天

select datediff(date_add(curdate()-day(curdate())+1,interval 1 month ),date_add(curdate(),interval -day(curdate())+1 day)) from dual; --獲取當前月的天數

#當年第一天: 

select date_sub(curdate(),interval dayofyear(now())-1 day);

#當年最後一天:

select concat(year(now()),'-12-31');

#當前week的第一天:

select date_sub(curdate(),interval weekday(curdate()) + 1 day);

#當前week的最後一天:

select date_sub(curdate(),interval weekday(curdate()) - 5 day);

#前一week的第一天:

select date_sub(curdate(),interval weekday(curdate()) + 8 day);

#前一week的最後一天:

select date_sub(curdate(),interval weekday(curdate()) + 2 day);

#前兩week的第一天:

select date_sub(curdate(),interval weekday(curdate()) + 15 day);

#前兩week的最後一天:

select date_sub(curdate(),interval weekday(curdate()) + 9 day);

#當前month的第一天:

select concat(date_format(last_day(now()),'%y-%m-'),'01');

#當前month的最後一天:

select last_day(now());

#前一month的第一天:

select concat(date_format(last_day(now() - interval 1 month),'%y-%m-'),'01');

#前一month的最後一天:

select last_day(now() - interval 1 month);

#前兩month的第一天:

select concat(date_format(last_day(now() - interval 2 month),'%y-%m-'),'01');

#前兩month的最後一天:

select last_day(now() - interval 2 month);

#當前quarter的第一天:

select concat(date_format(last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-3 month),'%y-%m-'),'01');

#當前quarter的最後一天:

select last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-1 month);

#前一quarter的第一天:

select concat(date_format(last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-6 month),'%y-%m-'),'01');

#前一quarter的最後一天:

select last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-4 month);

#前兩quarter的第一天:

select concat(date_format(last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-9 month),'%y-%m-'),'01');

#前兩quarter的最後一天:

select last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-7 month);

日期獲取本月第一天和最後一天

getfullyear 日期物件獲取年份 yyyy getmonth 獲取月份0 11 getdate 獲取一月中的第幾天 1 31 setdate num 傳數字設定本月日期第幾天 newdate year month,day,hours,可以傳字串或數字 newdate fullyear,mon...

mysql日期 獲取本月第一天 獲取下個月的第一天

select curdate 獲取當前日期 select last day curdate 獲取當月最後一天。select date add curdate interval day curdate 1 day 獲取本月第一天 select date add curdate day curdate ...

PHP 獲取本月 本週第一天 最

year date y month date m allday date t strat time strtotime year.month.1 end time strtotime year.month.allday echo date y m d strat time echo date y m...