配置单元时间戳未按预期转换

hive timestamp not converting as expected

我的输入时间戳就像

06/08/2017 19:02:03 EDT

我希望将其转换为

2017-06-08 19:02:03

我正在尝试 运行 下面的查询,但它没有按预期进行转换

select 
from_unixtime(unix_timestamp('06/08/2017 19:02:03 EDT', 'MM/dd/YYYY hh:mm:ss z'))

输出:2017-01-01 18:02:03

我错过了什么?

试试这个。

select from_unixtime(unix_timestamp('06/08/2017 19:02:03 EDT', 'MM/dd/yyyy hh:mm:ss')) ; 
  • 已将 YYYY 更改为 yyyy

编辑:

如果您的服务器在美国东部时间以下时区,查询应该可以工作,否则输出将在服务器本地时区。

select from_unixtime(unix_timestamp('06/08/2017 19:02:03 EDT', 'MM/dd/yyyy hh:mm:ss z'), 'yyyy-MM-dd hh:mm:ss') ;