Hive Unix 时间戳

Hive Unix Timestamp

我没有从 hiveUNIX_TIMESTAMP 中得到预期的结果

例如:

select FROM_UNIXTIME(UNIX_TIMESTAMP('2015/02/01', 'YYYY/MM/DD')) from table limit 1;

输出:

2014-12-28 00:00:00
Time taken: 0.287 seconds, Fetched: 1 row(s)

我原以为是 return 2015-02-01 ,但结果却有所不同。我明白这可能是因为纪元时间?

select FROM_UNIXTIME(UNIX_TIMESTAMP('2015/02/01'))

使用此查询获取答案 2015-02-01 00:00:00

谢谢。

您也可以使用 substr() 函数。在任何地方都很好用,除非你需要将它与其他时间进行比较 variable/constant。

您的日期格式全部大写。尝试使用小写字母:

select from_unixtime(unix_timestamp('12/02/01','yyyy/MM/dd') from table;

结果: 2015-02-01 00:00:00

您也可以使用以下方式去除时间:

to_date(from_unixtime(unix_timestamp('12/02/01','yyyy/MM/dd'))

结果: 2015-02-01