MySQL 的时间处理函数
MySQL 的时间处理相关函数汇总。
参考文档:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
当前时间
now () 以 'YYYY-MM-DD hh:mm:ss
' 格式返回当前时间。
>> select now()
2022-01-21 12:21:04
时间戳
unix_timestamp
将时间转换为时间戳格式:
>> SELECT unix_timestamp()
>> SELECT unix_timestamp(now())
>> SELECT unix_timestamp('2022-01-21 12:21:04')
1642738864
from_unixtime
将时间戳转为时间格式:
>> SELECT from_unixtime(1642738864)
2022-01-21 12:21:04
进行 格式化:
>> SELECT from_unixtime(1642738864,'%Y-%m-%d %H.%i.%s')
2022-01-21 12.21.04
时间格式化
select date_format(now(),'%Y-%m-%d')
时间计算
DATE_ADD 增加时间
set @dt = now();
select date_add(@dt, interval 1 day); -- 加1天
select date_add(@dt, interval 1 hour); -- 加1小时
select date_add(@dt, interval 1 minute); -- 加1分钟
select date_add(@dt, interval 1 second); -- 加1秒
select date_add(@dt, interval 1 microsecond);-- 加1毫秒
select date_add(@dt, interval 1 week);-- 加1周
select date_add(@dt, interval 1 month);-- 加1月
select date_add(@dt, interval 1 quarter);-- 加1季
select date_add(@dt, interval 1 year);-- 加1年
DATE_SUB 减少时间
set @dt = now();
select date_sub(@dt, interval 1 day); -- 减1天
select date_sub(@dt, interval 1 hour); -- 减1小时
select date_sub(@dt, interval 1 minute); -- 减1分钟
select date_sub(@dt, interval 1 second); -- 减1秒
select date_sub(@dt, interval 1 microsecond);-- 减1毫秒
select date_sub(@dt, interval 1 week);-- 减1周
select date_sub(@dt, interval 1 month);-- 减1月
select date_sub(@dt, interval 1 quarter);-- 减1季
select date_sub(@dt, interval 1 year);-- 减1年
DATEDIFF 间隔天数
格式:DATEDIFF (expr1,expr2)
返回:从一个日期到另一个日期的天数,即 *expr1
*- *expr2
*。
expr1
和 *expr2
* 是日期或日期和时间表达式。计算中仅使用值的日期部分。
>> SELECT DATEDIFF('2021-12-31 23:59:59','2021-01-01')
364
相关文章