首页  编辑  

本月,本周,本日,上周等

Tags: /MySQL/   Date Created:

       -- 星期从周一开始,减1,从星期日开始,下面一句需要减7

本日: curdate()

昨天:        SET @YESTERDAY = DATE_SUB(CURDATE(), INTERVAL 1 DAY);

本周开始时间:        SET @_THIS_WEEK_BEGIN = DATE_SUB(CURDATE(),INTERVAL WEEKDAYCURDATE()) DAY);

上周开始时间:        SET @_LAST_WEEK_BEGIN = SUBDATE(@_THIS_WEEK_BEGIN, INTERVAL 7 DAY);

上周结束时间: SET @_LAST_WEEK_END = SUBDATE(@_THIS_WEEK_BEGIN, INTERVAL 1 SECOND);

本月开始时间:        SET @_THIS_MONTH_BEGIN = DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY);

上月开始时间:        SET @_LAST_MONTH_BEGIN = DATE_SUB(DATE_SUB(CURDATE(),INTERVAL EXTRACT( DAY FROM NOW())-1 DAY),INTERVAL 1 MONTH);

上个月最后一天: SELECT DATE_SUB(DATE_SUB(DATE_FORMAT(NOW(),'%y-%m-%d 23:59:59'),INTERVAL EXTRACT(DAY FROM NOW()) DAY),INTERVAL 0 MONTH) AS DATE;

下个月第一天:DATE_ADD(CURDATE()-DAY(CURDATE())+1,INTERVAL 1 MONTH)

最近7天:SUBDATE(curdate(), interval 7 day);

最近30天:subdate(curdate(), interval 30 day);

select date_sub(now(),interval 1 month)    上个月今天的当前时间  

select UNIX_TIMESTAMP(date_sub(now(),interval 1 month))    上个月今天的当前时间(时间戳)  

select date_sub(date_sub(date_format(now(),'%y-%m-%d 08:00:00'),interval extract( day from  

 

now())-1 day),interval 1 month)上个月的第一天  

select UNIX_TIMESTAMP(date_sub(date_sub(date_format(now(),'%y-%m-%d 08:00:00'),interval  extract( day from now())-1 day),interval 1 month))    上个月的第一天(时间戳)  

 

上个月的第一天:  

 select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(    

  day from now())-1 day),interval 1 month)  

上个月的最后一天:  

select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(    

  day from now()) day),interval 0 month) as date  

这个月的第一天:  

select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(    

  day from now())-1 day),interval 0 month)  

这个月的最后一天:  

select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(    

  day from now()) day),interval -1 month) as date