MySQL获取时间函数
1.1 获得当前日期 + 时间
函数:NOW()或now()
输出格式:yyyy-MM-dd HH:mm:ss
2022-08-08 22:20:46
函数:TODAY()
输出格式:yyyy-MM-dd HH:mm:ss
2022-08-08 22:20:46
函数:current_timestamp()或current_timestamp
输出格式:yyyy-MM-dd HH:mm:ss
2022-08-08 22:20:46
函数:localtime()或localtime
输出格式:yyyy-MM-dd HH:mm:ss
2022-08-08 22:20:46
函数:localtimestamp()或localtimestamp
输出格式:yyyy-MM-dd HH:mm:ss
2022-08-08 22:20:46
1.2 动态获取当前时间
函数:sysdate()
mysql> select now(), sleep(3), now();
+———————+———-+———————+
| now() | sleep(3) | now() |
+———————+———-+———————+
| 2022-08-08 22:28:21 | 0 | 2022-08-08 22:28:21 |
+———————+———-+———————+
mysql> select sysdate(), sleep(3), sysdate();
+———————+———-+———————+
| sysdate() | sleep(3) | sysdate() |
+———————+———-+———————+
| 2022-08-08 22:28:41 | 0 | 2022-08-08 22:28:44 |
+———————+———-+———————+
1.3 获取当前日期、时间、年、季度、月、周、日
当前日期:curdate()或current_date()或current_date或data(NOW())
输入格式:yyyy-HH-dd
2022-08-08
当前时间:curtime或current_time()或current_time或time(NOW())
输入格式:HH:mm:ss
22:28:44
当前年、季度、月、周、日、时、分、秒
year(NOW())
quarter(NOW())
month(NOW())
week(NOW())
day(NOW())
hour(NOW())
minute(NOW())
second(NOW())
1.4 返回日期参数,在一周、一月、一年中的位置
set @dt = ‘2008-08-08′;
select dayofweek(@dt); — 6
select dayofmonth(@dt); — 8
select dayofyear(@dt); — 221
1.5 返回“某天”在一周中的位置
函数:week();weekofyear();dayofweek();weekday(),yearweek()
set @dt = ‘2008-08-08′;
select week(@dt); — 31
select week(@dt,3); — 32
select weekofyear(@dt); — 32
select dayofweek(@dt); — 6
select weekday(@dt); — 4
select yearweek(@dt); — 200831
1.6 返回星期和月份
函数:dayname();monthname()
set @dt = ‘2008-08-08′;
select dayname(@dt); — Friday
select monthname(@dt); — August
1.7 返回月份中的天
本月第一天:date_add(curdate(), interval - day(curdate()) + 1 day)
本月最后一天:last_day(curdate())
上月第一天:date_add(curdate()-day(curdate())+1,interval -1 month)
上月最后一天:last_day(date_sub(now(),interval 1 month))
下月第一天:date_add(curdate()-day(curdate())+1,interval 1 month)
下月最后一天:last_day(date_sub(now(),interval -1 month))
上月今天的当前日期: date_sub(curdate(), interval 1 month)
上月今天的当前时间戳:unix_timestamp(date_sub(now(),interval 1 month))
1.8 增加时间间隔
当前增加一天: date_add(now(), interval 1 day)
当前增加一小时: date_add(now(), interval 1 hour)
当前增加一分钟: date_add(now(), interval 1 minute)
当前增加一秒钟: date_add(now(), interval 1 second)
当前增加一毫秒: date_add(now(), interval 1 microsecond)
当前增加一周: date_add(now(), interval 1 week)
当前增加一月:date_add(now(), interval 1 month)
当前增加一季度: date_add(now(), interval 1 quarter)
当前增加一年: date_add(now(), interval 1 year)
当前减少一天: date_add(now(), interval -1 day)