蜂巢朱利安日期转换

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 如果您对我的回答感到满意,请接受或投票

以上是关于蜂巢朱利安日期转换的主要内容,如果未能解决你的问题,请参考以下文章

将日期转换为另一种格式的 SQL 查询

将 PL-SQL 转换为 SQL Server

在 laravel 中使用 Jalali 从 Carbon 创建 Julian 日期

将 Netezza 时间戳转换为儒略日数

从年份和朱利安日在熊猫中创建日期时间

蜂巢中的时间戳?