1. 将时间戳转换为日期:from_unixtime()
用法
-
from_Unixtime(unix_timestamp)
-
from_unixtime(unix_timestamp,format)
示例(注意要不要除1000,超出时间格式显示为空)
select from_unixtime(1511544070,'%Y-%m-%d %H:%i:%s') from user;
select from_unixtime(createTime/1000,'%Y-%m-%d %H:%i:%s') from user;
结果:2017-11-25 01:21:10
2. 将日期转换为时间戳
用法
unix_timestamp()
示例:
select unix_timestamp(now()) from user;
结果:1589004912
3. 以不同的格式显示日期、时间
用法
date_format(date,format)
示例1:
select date_format(now(),'%W') from user;
结果:Saturday
示例2:
select date_format(now(),'%Y-%m-%d %H:%i:%s')
结果:2020-05-09 14:36:28
4. 增加小时数
用法
DATE_ADD(date, INTERVAL num TYPE)
- date 只要是合法的日期表达式即可
- num 是希望添加的时间间隔值
- TYPE 是时间间隔的单位
示例:
select DATE_ADD('2018-03-22 10:23:00', INTERVAL 30 MINUTE) from user;
select DATE_ADD(createTime, INTERVAL 8 HOUR) AS `创建时间` from user;
TYPE参数格式
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
format参数格式:
简写 | 解释 |
---|---|
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值 |
%D | 带有英文前缀的月中的天 |
%d | 月的天,数值(00-31) |
%e | 月的天,数值(0-31) |
%f | 微秒 |
%H | 小时 (00-23) |
%h | 小时 (01-12) |
%I | 小时 (01-12) |
%i | 分钟,数值(00-59) |
%j | 年的天 (001-366) |
%k | 小时 (0-23) |
%l | 小时 (1-12) |
%M | 月名 |
%m | 月,数值(00-12) |
%p | AM 或 PM |
%r | 时间,12-小时(hh:mm:ss AM 或 PM) |
%S | 秒(00-59) |
%s | 秒(00-59) |
%T | 时间, 24-小时 (hh:mm:ss) |
%U | 周 (00-53) 星期日是一周的第一天 |
%u | 周 (00-53) 星期一是一周的第一天 |
%V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
%v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
%W | 星期名 |
%w | 周的天 (0=星期日, 6=星期六) |
%X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
%x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
%Y | 年,4 位 |
%y | 年,2 位 |