我有一个纪元时间(秒)。它显示了我JAVA
中的不同时间,当我做
new Date(time*1000)
在SQL中,当我做
时 SELECT cast((DATE '1970-01-01' + time/24/60/60) as timestamp) from dual
。
问题主要是,我需要在凌晨2点到凌晨4点之间的特定间隔的数据。所以当我将秒值传递给SQL查询时。它把它解释为上午9点到11点之间。我知道这是因为时区差异。
我如何克服这个问题?
答案 0 :(得分:1)
请尝试使用时间戳:
SELECT cast((TIMESTAMP '1970-01-01 00:00:00.00' + time/24/60/60) as timestamp)
FROM dual
答案 1 :(得分:0)
我处理任何时区相关问题的建议是始终在内部处理UTC时间并将其作为UTC存储在数据存储中。仅将它们转换为本地时间仅显示给用户。