【发布时间】:2020-02-16 17:05:35
【问题描述】:
我正在使用
- MySQL 工作台
- Node.js 和 Knex.js
我在 SQL 中的数据如下所示:
+--------------+----+--------------------+
| date | id | happinessIndicator |
+--------------+----+--------------------+
| '2019-10-20' | 1 | happy |
| '2019-10-20' | 2 | happy |
| '2019-10-20' | 3 | happy |
| '2019-10-20' | 4 | happy |
+--------------+----+--------------------+
这是我获得当天投票的代码
exports.day = function (req, res) {
const today = moment().format('YYYY-MM-DD');
knex('votes')
.where('date', today)
.then(function (resp) {
res.json({
status: true,
message: 'ok',
data: resp
})
})
.catch(function (error) {
res.json(
{
status: false,
msg: error.code
}
)
})
};
但我的结果是这样的:
他为什么不返回 2019-10-20 就像那里存储的一样?
【问题讨论】:
-
这只是一个猜测,但可能是时区的问题?我想,您将没有时区的日期存储到数据库中,然后 knex 尝试获取带有时区的日期并失败。由于您可能比格林威治标准时间晚 2 小时,他计算的日期减去这两个小时。尝试为 knex 设置时区并检查它是否仍然发生
标签: node.js mysql-workbench knex.js