如何处理配置单元中的文本时间戳

时间:2016-12-22 04:58:01

标签: hive

我在hive表中有一个列存储为文本。文字如下所示

  

2007-01-01T00:00:00 + 00:00

我试图找出以上述格式存储为文本的两个时间戳值之间的时间差。

1 个答案:

答案 0 :(得分:1)

假设我们有一个Hive表 dateTest ,其中包含两列 date1 字符串, date2 字符串 并假设该表包含具有此值的行:

2007-01-01T00:00:00 + 00:00,2007-02-01T00:00:00 + 00:00

日期采用ISO 8601 UTC格式,因此如果您运行此查询:

select datediff(from_unixtime(unix_timestamp(date2, "yyyy-MM-dd'T'HH:mm:ss")),from_unixtime(unix_timestamp(date1, "yyyy-MM-dd'T'HH:mm:ss"))) as days
from datetest;

结果是31