-- 1.DATEDIFF(expr1,expr2): 计算两个日期相差的天数
select DATEDIFF(now(),'2021/8/20') '时间差';
-- week(Date): 获取当前周数
select week('2021/11/22');
-- 2.DATE_ADD(date,INTERVAL expr unit): 时间日期计算 +
select date_add(now(),interval 1 hour) date;
select date_add(now(),interval 1 day) date;
select date_add(now(),interval -1 day) date;
-- 3.DATE_SUB(date,INTERVAL expr unit): 时间日期计算 -
select date_sub(now(), interval 1 year) date;
select date_sub(now(), interval 1 day) date;
select date_sub(now(), interval -1 day) date;
-- 2.DATE(expr): 提取日期
select date(now()) '日期';
select date('2021/8/23 14:54:39') '日期';
-- 3.FROM_UNIXTIME(unix_timestamp,format): 从时间戳提取日期,对十位时间戳提取
select from_unixtime(1629363780,'%Y') 'date';
select from_unixtime(1629363780,'%m') 'date';
select from_unixtime(1629363780,'%d') 'date';
select from_unixtime(1629363780,'%T') 'date';
select from_unixtime(1629363780,'%H') 'date'; -- H: 24小时制 / h: 12小时制
select from_unixtime(1629363780,'%i') 'date'; -- i: 分
select from_unixtime(1629363789,'%s') 'date'; -- s: 秒
select from_unixtime(1629363780, '%Y %m %d' '%T') 'date';
-- 4.DATE_FORMAT(date,format): 格式化输出日期
select date_format(now(),'%Y') 'year';
select date_format(now(),'%m') 'month';
select date_format(now(),'%d') 'day';
select date_format(now(),'%T') 'time';
select date_format(now(),'%H') 'hour';
select date_format(now(),'%i') 'minute';
select date_format(now(),'%s') 'second';
select date_format(now(), '%Y %m %d' '%T') 'date';
select year(now()) 'year';
select month(now()) 'month';
select day(now()) 'day';
select time(now()) 'time';
select hour(now()) 'hour';
select minute(now()) 'minute';
select second(now()) 'second'; -- 秒
-- 5.STR_TO_DATE(str,format): 字符串转换成日期
select str_to_date('2021-8-23', '%Y-%m-%d') 'date';
select str_to_date('2021-8-23 10:20:30','%Y-%m-%d %H:%i:%s') result;
-- 6.CURRENT_TIMESTAMP(): 返回当前日期时间 == now()
select current_timestamp() 时间戳;
-- 7.CURRENT_DATE(): 返回当前日期
select current_date() date;
-- 8.CURRENT_TIME(): 返回当前时间
select current_time() time;
-- 9.UNIX_TIMESTAMP(): 日期转换成时间戳
select unix_timestamp() '时间戳';
select unix_timestamp('2021/8/24') as '时间戳';
select from_unixtime(1629735351, '%Y-%m') 'date';
MySQL时间日期函数
最新推荐文章于 2024-09-02 11:36:52 发布