MySQL日期相关函数 | 获取当前时间前 后30天日期

时间:2024-04-01 13:16:27

主要使用MySQL的 DATE_SUB() 函数


一、简介

MySQL日期相关函数 | 获取当前时间前 后30天日期


二、使用:

  • 当前日期的前三十天和后三十天
SELECT * from user 
where create_time between DATE_SUB(NOW(),INTERVAL 30 day) and DATE_SUB(NOW(),INTERVAL -30 day)

  • 示例

select now();-- 当前时间
-- 2018-12-06 20:35:21

select DATE_SUB(now(), INTERVAL 30 DAY);-- 前三十天
-- 2018-11-06 20:35:42

select DATE_SUB(now(), INTERVAL -30 DAY);-- 后三十天(函数本身是减法,用负数就是加)
-- 2019-01-05 20:35:55

select DATE_SUB(now(), INTERVAL 1 month);-- 减去一个月
-- 2018-11-06 20:36:05

select DATE_SUB(now(), INTERVAL 1 year);-- 减一年
-- 2017-12-06 20:36:16


三、扩展

  • mysql获取当前时间:可以使用now()或者sysdate()

获得当前日期+时间(date + time)函数:now() 或者 sysdate()
-- 2018-12-06 20:46:39

获得当前日期(date)函数:curdate()/current_date()/current_date()  
-- 2018-12-06

获得当前时间(time)函数:curtime() /current_time() / current_time()
-- 20:38:13

  • 注意
    sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值