【发布时间】:2021-03-23 16:06:47
【问题描述】:
我运行了一个查询,它给了我以下结果
但是当我尝试使用 JavaScript 对其进行控制台时,这给了我一个减去结果的日期。
[
RowDataPacket { total: 0, log_date: 2020-12-04T18:30:00.000Z },
RowDataPacket { total: 0, log_date: 2020-12-07T18:30:00.000Z },
RowDataPacket { total: 0, log_date: 2020-12-11T18:30:00.000Z }
]
为什么会这样。 mysql 和控制台输出都在本地。
【问题讨论】:
-
您的 JS 中的日期以 UTC 表示(
Z是祖鲁时间) -
请问如何解决这个问题
-
log_date: 2020-12-04 在 JavaScript 中但在 mysql 中 log_date: 2020-12-05
-
查看 JavaScript 和查询中的时间以及日期 - 差异必须小于一天,根据您的时区,它必须是几个小时。并决定什么值是准确的,什么是错误的。 PS。什么是精确的
log_date数据类型? -
可能的解决方案 - 在检索期间将日期转换为字符串 (
SELECT CAST(log_date AS CHAR) AS log_date, ...)。 Timeshift 不会应用于字符串数据。
标签: javascript mysql node.js