在hadoop/hive中将epoch时间转换为pst区域

mbzjlibv  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(430)

我想把epoch时间转换成pst时区。例如:1482440069当我转换为pst时,我应该得到2016-12-22
现在,当我尝试这个时,我得到了正确的答案

SELECT  from_utc_timestamp('1970-01-01 07:00:00', 'PST');

而且,当我尝试这个时,我得到了适当的值

select from_unixtime(cast(1482440069 as bigint), 'yyyy-MM-dd')
o/p : 2016-12-22

但是,当我尝试这个查询时,得到的是空响应

select from_utc_timestamp(from_unixtime(cast(1482440069 as bigint), 'yyyy-MM-dd'),'PST') -- Gives NULL response
kfgdxczn

kfgdxczn1#

使用 yyyy-MM-dd HH:mm:ss 而不是 yyyy-MM-dd ```
hive> select from_utc_timestamp(from_unixtime(cast(1482440069 as bigint), 'yyyy-MM-dd HH:mm:ss'),'PST');
OK
2016-12-22 04:54:29

wlzqhblo

wlzqhblo2#

您可以尝试: SELECT from_utc_timestamp(cast(from_unixtime('1970-01-01 07:00:00', 'yyyy-MM-dd HH:mm:ss') as bigint) + (time_zone value like -5 or -6 * 3600));

相关问题