hive 常用日期处理函数
1、当前日期提取
select current_timestamp()
输出结果:2022-02-24 17:50:02.198
select current_date()
输出结果:2022-02-24
2、日期格式转换(从yyyymmdd 到 yyyy-mm-dd)
from_unixtime(unix_timestamp('20220224','yyyymmdd'),'yyyy-mm-dd')
输出结果:2022-02-24
3、计算周
pmod(datediff('yyyy-mm-dd', '任意年任意一个星期日的日期'), 7)
select pmod(datediff('2022-02-24', '2022-02-20'), 7)
输出结果:4
注:此函数输出的星期结果为0-6,其中0为星期日
4、计算月
select month('2022-02-24')
输出结果:2
select substr('2022-02-24',1,7)
输出结果:2022-02
5、计算年
select year('2022-02-24')
输出结果:2022
6、计算日期差
select datediff('2022-02-24','2022-02-20')
输出结果:4
7、日期增加与减少
select date_sub('2022-02-25',1)
输出结果:2022-02-24
select date_add('2022-02-25',1)
输出结果:2022-02-26
8、返回字符串的日期部分
select to_date('2022-02-25 10:57:30 12345')
输出结果:2022-02-25
9、返回字符串的天
select day('2022-02-25')
输出结果:25
select dayofmonth('2022-02-25')
输出结果:25
10、返回字符串的小时
select hour('2022-02-25 10:57:30')
输出结果:10
11、返回字符串的分
select minute('2022-02-25 10:57:30')
输出结果:57
12、返回字符串的秒
select second('2022-02-25 10:57:30')
输出结果:30
13、返回字符串的季度:quarter(date/timestamp/string)
select quarter('2022-02-25')
输出结果:1
select quarter('2022-02-25 10:57:30')
输出结果:1
14、返回一年中的第几周
select weekofyear('2022-01-01')
输出结果:52(这里需要注意,这个函数取出来的是自然周,2022-01-01属于2021年的第51周)
select weekofyear('2022-01-03')
输出结果:1