【发布时间】:2018-02-09 12:22:51
【问题描述】:
请指教。
使用 ExtJS 和 Oracle SQL。情况是这样的:
我必须在两个日期dateFrom 和dateTo 之间从数据库获取文件。
我的dateTo 设置为当天结束,例如 2018-02-09 23:59:59。
let dateTo = new Date()
dateTo = Ext.Date.clearTime(dateTo);
dateTo.setHours(23, 59, 59, 999);
当我查询时,过去的日期都比我设置的日期少 2 小时(2018-02-09 21:59:59)。为什么会发生这种情况,有人?是因为这个 GMT+2 业务吗?
capture1.png 来自 SQL 查询,capture2.png 是 console.log(dateTo)
以及如何治愈它。
非常感谢!
【问题讨论】:
-
可能是由于白天保存
-
看起来您提供的日期正在从本地时区转换为 UTC,是的。没有看到
setHours()和 SQL 调用之间发生了什么,不知道在什么时候。可能与getTime()always giving UTC?有关 -
Alex,DB 调用在我将时间设置为 23:59:59 之后紧随其后。想知道如何防止它减去 2 小时。我是对的,在目前的情况下,我只从 DB 获取到 21:59:59 的文档?干杯
-
数据库中列的数据类型是什么?
-
您的 ExtJS 前端是否直接与数据库通信?当我偶然发现同样的问题时,问题既不在前端也不在数据库中,而是在后端逻辑中(你不说你用的是什么:C#、PHP、JSF...)...... C# 使用的地方奇怪的
DateTimeKind设置。
标签: javascript sql oracle extjs