> 文章列表 > mysql 日期 加减 now() date_add() datediff()

mysql 日期 加减 now() date_add() datediff()

mysql 日期 加减 now() date_add() datediff()

select now(),     -- 日期函数 + 时间函数sysdate(), -- 日期函数 + 时间函数curdate(), -- 日期函数curtime(); -- 时间函数

年-月-日    %Y-%m-%d

时:分:秒    %H:%i:%S

date_add() 

select now(),date_add(now(), interval 1 year) 明年,date_add(now(), interval 1 day) 明天,date_add(now(), interval 1 hour) 一小时后,-- 复杂的,敲的时候,看代码提示即可date_add(now(), interval '01:15' hour_minute) 一小时十五分钟后,date_add(now(), interval '01:15:30' hour_second) 一小时十五分三十秒后,date_add(now(), interval '1 01:15:30' day_second) 一天一小时十五分三十秒后,date_sub(now(), interval 1 year) 前年 -- 格式同上from dual;

datediff()

select datediff('2021-01-02', '2021-01-01') date_diff,  -- 1timediff('10:20:30', '08:10:15') time_diff,       -- 02:10:15-- 支持标准日期参数timestampdiff(day, '2021-01-01', '2021-01-02') timestamp_diff,timestampdiff(minute, '2021-01-01 08:10:15', '2021-01-02 10:20:30')  timestamp_diff2from dual;

now()和sysdate()

相同点:都是 日期 + 时间 格式
不同点:

(1) now()     在 '执行开始时' 值就得到了
(2) sysdate() 在函数执行时 '动态获取'

select now(), sleep(3), now();
-- 值一致
2023-04-17 01:00:00		0	2021-01-18 01:00:00
select sysdate(), sleep(3), sysdate();
-- 值不同
2023-04-17 01:00:00		0	2021-01-18 01:00:03

UTC 

1. 世界协调时间 UTC:    Universal Time Coordinated

2. 我国位于 '东八时区',所以本地时间 = UTC 时间 + 8 小时
   (1) UTC 时间在业务涉及多个国家和地区的时候,非常有用

 

select now(),              -- 2023-04-17 16:08:54utc_date,           -- 2023-04-17utc_time,           -- 08:08:54utc_timestamp       -- 2023-04-17 08:08:54from dual;

 

Mysql 日期函数详解(now、date_add、datediff )