Hive 配置单元unix_时间戳无法识别12:07和00:07之间的差异,并为两者返回相同的unix时间戳
Hive 配置单元unix_时间戳无法识别12:07和00:07之间的差异,并为两者返回相同的unix时间戳,hive,timestamp,hiveql,utc,unix-timestamp,Hive,Timestamp,Hiveql,Utc,Unix Timestamp,hive to_unix_timestamp()函数无法识别24小时格式,并在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") zeroh
hive to_unix_timestamp()
函数无法识别24小时格式,并在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
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
测试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
1548158820 1548115620
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
请在此处阅读有关模式的内容: