hive中时间操作(一)

转: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

原文地址:https://www.cnblogs.com/zuizui1204/p/9144095.html