我想从Hive中给定的时间戳中减去1秒。当我试图给一个给定的时间戳加上1秒时,它工作得很好,但是减法工作得不好。
下面的语句给出了正确的加法结果
select from_unixtime(unix_timestamp('2016-11-06 01:00:00.000','yyyy-MM-dd HH:mm:ss.SSS'),'yyyy-MM-dd HH:mm:ss.SSS') , from_unixtime(unix_timestamp('2016-11-06 01:00:00.000','yyyy-MM-dd HH:mm:ss.SSS') + 1,'yyyy-MM-dd HH:mm:ss.SSS')
但对于减法,我并没有得到正确的结果
select from_unixtime(unix_timestamp('2016-11-06 01:00:00.000','yyyy-MM-dd HH:mm:ss.SSS'),'yyyy-MM-dd HH:mm:ss.SSS') , from_unixtime(unix_timestamp('2016-11-06 01:00:00.000','yyyy-MM-dd HH:mm:ss.SSS') - 1,'yyyy-MM-dd HH:mm:ss.SSS')
我得到的减法结果
2016-11-06 01:00:00.000 2016-11-06 01:59:59.000
但预期的结果是
2016-11-06 01:00:00.000 2016-11-06 12:59:59.000
2条答案
按热度按时间h43kikqp1#
这对我有用:
yks3o0rb2#
“美国和加拿大:2016年11月6日dst结束。。。
美国、加拿大和墨西哥北部边境城市的大部分地区在2016年11月6日周日结束夏令时(dst)。
夏令时于2016年11月6日周日结束
从当地时间02:00(凌晨2点)到01:00(凌晨1点),时钟将被设置回标准时间1小时。”
https://www.timeanddate.com/news/time/usa-canada-end-dst-2016.html