mysql时间查询。获取当前时间,当月1号
获取当前日期
select curdate(); 执行结果:2022-08-22 SELECT DATE_FORMAT(now(),'%Y-%m-%d 23:59:59'); 执行结果:2022-08-21 23:59:59
用now() 或者 curdate() 都行
获取当月最后一天
select last_day(curdate()); 执行结果:2022-08-31 SELECT DATE_FORMAT(last_day(curdate()),'%Y-%m-%d 23:59:59'); 执行结果:2022-08-31 23:59:59
获取当月第一天
select date_add(curdate(),interval -day(curdate())+1 day); 执行结果:2022-08-01 SELECT DATE_FORMAT(date_add(curdate(),interval -day(curdate())+1 day),'%Y-%m-%d 23:59:59'); 执行结果:2022-08-01 23:59:59
#获取下个月的第一天
select date_add(curdate() - day(curdate()) +1,interval 1 month );
#获取当前月已过了几天
select day(curdate());
#获取当前月的天数(先加一个月,再减今天是第几天,得到当前月的最后一天,最后求最后一天是几号)
select day(date_add( date_add(curdate(),interval 1 month),interval -day(curdate()) day ));
#上个月的第一天
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 last_day(curdate());
参考文章:https://blog.csdn.net/weixin_37641163/article/details/121149901