Hive 和 BQ 之间非常古老的日期(1400 年)的 UNIX 时间戳转换差异

Difference in UNIX timestamp conversion between Hive And BQ for very old dates (year 1400)

提问人:Steve Ahlswede 提问时间:11/1/2023 更新时间:11/1/2023 访问量:18

问:

有人知道为什么我在 BQ 和 Hive 中两次相同的 UNIX 时间可能会得到不同的结果吗?

蜂房:

select FROM_UNIXTIME(-17429212800)

返回1417-09-01 00:00:00

BQ:

select TIMESTAMP_SECONDS(-17429212800)

返回1417-09-10 00:00:00



但是,如果我在早期的 UNIX 上使用相同的函数,那么结果是相同的

蜂房:

select FROM_UNIXTIME(-10429212800)

返回1639-07-06 12:26:40

BQ:

select TIMESTAMP_SECONDS(-10429212800)

返回1639-07-06 12:26:40

google-cloud-platform google-bigquery hive 数据库迁移

评论

0赞 Some programmer dude 11/1/2023
十天之差?15:世纪?这是儒略历与公历的事情。
0赞 Some programmer dude 11/1/2023
另请注意,“Unix”时间戳不会追溯到 1970 年 1 月 1 日午夜。它也不会变成负面的。
0赞 John Hanley 11/2/2023
某些系统确实支持负值,但官方只支持正值。向 Hive 开发团队报告您的问题。hive.apache.org/community/issuetracking
0赞 Steve Ahlswede 11/2/2023
不,事实证明这是公历改革(正如一些程序员所提到的),Hive 的天数差距发生在改革发生的地方。

答: 暂无答案