1 hive中,日期处理很常见,需要特别注意的地方有:
1 date_format(参数,‘yyyy-MM’) ,date_add(参数,2) 等所有的类似函数,这里的参数只能这种格式’yyyy-mm-dd’的字符 串,否则就报错或是识别错误
例如 date_format(‘2019-01-19’,‘yyyy-MM’) :正确写法
date_format(‘2019-01’,‘yyyy-MM’) date_format(‘2019/01/19’,‘yyyy-MM’) :错误写法
2 from_unixtime(参数2,‘yyyy-mm’)这里的参数2只能long类型,也就是1970年到该时间的毫秒值。
3 unix_timestamp(参数3 ,‘yyyy/mm/dd’) 参数3 是个日期字符串,格式和’yyyy/mm/dd’ 一致 ,返回一个Long值
例子:unix_timestamp(‘2019/02/19’,‘yyyy/mm/dd’)
2 应用举例:
1 现有一个时间格式的字符串"2019/02/19" 如何转化为 “2019-02” 这种格式的字符串
from_unixtime( unix_timestamp(“2019/02/19” ,‘yyyy/mm/dd’),‘yyyy-MM’)
2 现有一个时间格式的字符串"2019-02-19" 如何转化为 “2019-02” 这种格式的字符串
date_format(‘2019-02-19’,‘yyyy-MM’)
注意它们的对比,以便处理的时候,方法不一样。