蜂巢朱利安日期转换
Posted
技术标签:
【中文标题】蜂巢朱利安日期转换【英文标题】:hive julian date conversion 【发布时间】:2017-12-04 07:12:04 【问题描述】:我正在尝试将 HIVE 中的儒略日期(例如 0167017)转换为日历日期。我的示例应该转换为 1967-01-17(01 应该变成 19,67 被认为是 67 年,017 被认为是一年中的 17 天。我应该使用什么配置单元日期格式来实现这一点?
我尝试了这种格式,但没有奏效。选择 from_unixtime(unix_timestamp('0167121','CCYYDDD'));
【问题讨论】:
【参考方案1】:如果 01 应该变成 19 那么 02 =20 等等,对吗?然后将 01 转换为 19,将其与字符串的其余部分连接并应用 yyyyDDD 格式:
hive> select to_date(from_unixtime(unix_timestamp(concat(18+cast(substr('0167017',1,2)as int),substr('0167017',3)),'yyyyDDD')));
OK
1967-01-17
Time taken: 0.07 seconds, Fetched: 1 row(s)
如有必要,使用to_date()
或substr
删除“00:00:00”
【讨论】:
我能够使用这种方法做到这一点。感谢您的回复。 @ibh 如果您对我的回答感到满意,请接受或投票以上是关于蜂巢朱利安日期转换的主要内容,如果未能解决你的问题,请参考以下文章