转:https://blog.csdn.net/u012474716/article/details/78925319/
hive中常用的时间为时间戳和日期格式之间的转换
常用的函数为:
to_date:日期时间转日期函数
select to_date(‘2015-04-02 13:34:12’);
输出:2015-04-02
from_unixtime:转化unix时间戳到当前时区的时间格式
select from_unixtime(1323308943,’yyyyMMdd’);
输出:20111208
这个函数值得注意的是:取到秒级别为 yyyyMMdd HH:mm:ss
其中yyyyMMdd HH:mm:ss 为HH时为24小时进制,hh时为12小时进制
unix_timestamp:获取当前unix时间戳
select unix_timestamp();
输出:1430816254
select unix_timestamp(‘2015-04-30 13:51:20’);
输出:1430373080
year:返回日期中的年
select year(‘2015-04-02 11:32:12’);
输出:2015
month:返回日期中的月份
select month(‘2015-12-02 11:32:12’);
输出:12
day:返回日期中的天
select day(‘2015-04-13 11:32:12’);
输出:13
hour:返回日期中的小时
select hour(‘2015-04-13 11:32:12’);
输出:11
minute:返回日期中的分钟
select minute(‘2015-04-13 11:32:12’);
输出:32
second:返回日期中的秒
select second(‘2015-04-13 11:32:56’);
输出:56
weekofyear:返回日期在当前周数
select weekofyear(‘2015-05-05 12:11:1’);
输出:19
datediff:返回开始日期减去结束日期的天数
select datediff(‘2015-04-09’,’2015-04-01’);
输出:8
date_sub:返回日期前n天的日期
select date_sub(‘2015-04-09’,4);
输出:2015-04-05
date_add:返回日期后n天的日期
select date_add(‘2015-04-09’,4);
输出:2015-04-13