Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 蜂箱中的时差计算给出错误答案_Hive_Hql_Unix Timestamp - Fatal编程技术网

Hive 蜂箱中的时差计算给出错误答案

Hive 蜂箱中的时差计算给出错误答案,hive,hql,unix-timestamp,Hive,Hql,Unix Timestamp,计算蜂巢中的时差,需要时数:分:秒。我得到的答案不太正确 这是我尝试过的问题 SELECT from_unixtime(UNIX_TIMESTAMP('2019-01-01 12:00:00') - UNIX_TIMESTAMP('2019-01-01 10:10:10'),'hh:mm:ss'); 我得到的答案是07:49:50 如何重构代码,以便得到答案01:49:50@user2510479 如@mazaneicha所述,from_unixtime函数将转换为当前系统时区,导致结果为07

计算蜂巢中的时差,需要时数:分:秒。我得到的答案不太正确

这是我尝试过的问题

SELECT from_unixtime(UNIX_TIMESTAMP('2019-01-01 12:00:00') - UNIX_TIMESTAMP('2019-01-01 10:10:10'),'hh:mm:ss');
我得到的答案是07:49:50

如何重构代码,以便得到答案01:49:50

@user2510479

如@mazaneicha所述,from_unixtime函数将转换为当前系统时区,导致结果为
07:49:50
,而不是
01:49:50

要获得预期结果(如果您更喜欢使用配置单元函数),您可以将_unixtime输出转换为UTC,并在其上使用日期_格式(从配置单元1.2.0开始)以获得所需的输出

SELECT date_format(to_utc_timestamp(from_unixtime( 
      (UNIX_TIMESTAMP('2019-01-01 12:00:00') 
     - UNIX_TIMESTAMP('2019-01-01 10:10:10')) ),'EST'), 'HH:mm:ss')

您可以在

中引用dateformat字符串,这太完美了!