日期相关 #
当前日期时间 #
sql
-- 当前日期时间
now()
-- 当前日期
curdate()
-- 当前时间
curtime()
日期操作 #
sql
date_add(now(), interval 1 day)
date_sub(now(), interval 1 day)
-- 周几:1周日 2周一 ... 7周六
dayofweek(curldate())
数据转换 #
sql
-- 日期时间取日期部分
date(now())
date('2024-01-31 08:30:05') -- 返回值:2024-01-31
-- 日期时间取时间部分
time(now())
time('2024-01-31 08:30:05') -- 返回值:08:30:05
-- 取日期时间某一项值
year('2024-01-31 08:30:05') -- 返回值:2024
month('2024-01-31 08:30:05') -- 返回值:1
day('2024-01-31 08:30:05') -- 返回值:31
hour('2024-01-31 08:30:05') -- 返回值:8
minute('2024-01-31 08:30:05') -- 返回值:30
second('2024-01-31 08:30:05') -- 返回值:5
microsecond('2024-01-31 08:30:05.0102') -- 返回值:10200
-- 日期时间转字符串
date_format(now(), '%Y-%m-%d %H:%i:%s')
-- 字符串转日期时间
str_to_date('2024-01-31 08:30:05', '%Y-%m-%d %H:%i:%s')
-- 日期时间转unix时间戳
unix_timestamp()
unix_timestamp(now())
unix_timestamp('2024-01-31 08:30:05') -- 返回值:1706661005
-- unix时间戳转日期时间
from_unixtime(1706661005) -- 返回值:2024-01-31 08:30:05
-- 时间转化为秒数
time_to_sec('20:30:05')
-- 秒数转化为时间
sec_to_time(3605)
-- 计算日期差
datediff('2024-01-31', '2024-01-21') -- 返回值:10
-- 计算时间差
timediff('08:30:05', '07:00:00') -- 返回值:01:30:05
timediff('07:00:00', '08:30:05') -- 返回值:-01:30:05
time_to_sec(timediff('08:30:05', '07:00:00')) -- 返回值:5405