【问题标题】: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'));

【问题讨论】:

    标签: hiveql julian-date


    【解决方案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 如果您对我的回答感到满意,请接受或投票
    猜你喜欢
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2021-01-21
    • 1970-01-01
    相关资源
    最近更新 更多