需要从配置单元中给定的时间戳减去一些小时

Bhu*_*007 3 mysql sql hive sql-date-functions hiveql

输入:unix_timestamp('01 / 15/2018 15:26:37','mm / dd / YYYY hh:mm:ss')

预期输出比utc输入时间晚4小时,即01/15/2018 11:26:37

我知道在蜂巢中有date_sub函数,但它仅用于从给定的时间戳中减去天数。但是我需要知道是否有一种方法可以减去小时,分钟或秒。

我还尝试了以下类似操作,因为EDT时区比UTC落后4小时(但输出错误):

SELECT to_date(from_UTC_timestamp(unix_timestamp('01/15/2018 15:26:37', 'mm/dd/YYYY hh:mm:ss')*1000, 'EST6EDT')) as earliest_date; -- OUTPUT: 2017-12-31 (wrong) 
Run Code Online (Sandbox Code Playgroud)

那么有人可以帮我吗?

Str*_*ung 5

工作正常。

select from_unixtime(unix_timestamp('01/15/2018 15:26:37', 'MM/dd/yyyy HH:mm:ss')-4*3600, 'MM/dd/yyyy HH:mm:ss') 
Run Code Online (Sandbox Code Playgroud)