Hive unix_timestamp 无法识别 12:07 和 00:07 之间的差异,并且 returns 两者具有相同的 Unix 时间戳
Hive unix_timestamp is not recognizing difference between 12:07 and 00:07, and returns same Unix timestamp for both
hive to_unix_timestamp()
函数无法识别 24 小时格式,returns 在第 12 小时和第 0 小时两种情况下的值相同。
下面的示例查询:
select to_unix_timestamp( '2019-01-22T12:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ") 12thhour,to_unix_timestamp( '2019-01-22T00:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ") zerohour;
12thhour zerohour
1548115620 1548115620
select to_unix_timestamp( '2019-01-22T12:07:00',"yyyy-MM-dd'T'hh:mm:ss") as 12thhour ,to_unix_timestamp( '2019-01-22T00:07:00',"yyyy-MM-dd'T'hh:mm:ss") as Zerohour ;
12thhour zerohour
1548112020 1548112020
对 24 小时格式使用 'HH'
模板。小写 'hh'
表示 12 小时。
测试 24 小时格式:
hive> select unix_timestamp( '2019-01-22T12:07:00.000+0000',"yyyy-MM-dd'T'HH:mm:ss.SSSZ"), unix_timestamp( '2019-01-22T00:07:00.000+0000',"yyyy-MM-dd'T'HH:mm:ss.SSSZ") zerohour;
OK
1548158820 1548115620
测试 12 小时格式:
hive> select unix_timestamp( '2019-01-22T12:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ"), unix_timestamp( '2019-01-22T00:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ") zerohour;
OK
1548115620 1548115620
在此处了解模式:simpleDateFormat
hive to_unix_timestamp()
函数无法识别 24 小时格式,returns 在第 12 小时和第 0 小时两种情况下的值相同。
下面的示例查询:
select to_unix_timestamp( '2019-01-22T12:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ") 12thhour,to_unix_timestamp( '2019-01-22T00:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ") zerohour;
12thhour zerohour
1548115620 1548115620
select to_unix_timestamp( '2019-01-22T12:07:00',"yyyy-MM-dd'T'hh:mm:ss") as 12thhour ,to_unix_timestamp( '2019-01-22T00:07:00',"yyyy-MM-dd'T'hh:mm:ss") as Zerohour ;
12thhour zerohour
1548112020 1548112020
对 24 小时格式使用 'HH'
模板。小写 'hh'
表示 12 小时。
测试 24 小时格式:
hive> select unix_timestamp( '2019-01-22T12:07:00.000+0000',"yyyy-MM-dd'T'HH:mm:ss.SSSZ"), unix_timestamp( '2019-01-22T00:07:00.000+0000',"yyyy-MM-dd'T'HH:mm:ss.SSSZ") zerohour;
OK
1548158820 1548115620
测试 12 小时格式:
hive> select unix_timestamp( '2019-01-22T12:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ"), unix_timestamp( '2019-01-22T00:07:00.000+0000',"yyyy-MM-dd'T'hh:mm:ss.SSSZ") zerohour;
OK
1548115620 1548115620
在此处了解模式:simpleDateFormat