【发布时间】:2020-02-27 15:04:50
【问题描述】:
所以我目前遇到的问题是:
我有一个体育课程列表,每个课程都有一个开放时间。我想从当天获取所有课程,但是。我在本地和生产中没有得到相同的结果,由于某种原因,当我将后端部署到 Heroku 时,时区默认设置为 UTC(当我有 GMT-3 时区时)。
这是我的查询:
var now = moment();
var startOfDay = now.startOf('day').format();
var endOfDay = now.endOf('day').format();
var clasesDB = await Clase.find({ $and: [{ openingTime: { $gte: startOfDay } }, { openingTime: { $lte: endOfDay } }] })
所以,就像我之前说的,问题发生在例如:
当我在本地时间(例如:02-26-19 21:00hs (GMT-3))获取课程时,查询实际上显示的是 02-27 的课程,因为,在 MINE 21:00hs,服务器端已经是 00:00,所以日期不再是 02-26。而且我不想要这种输出。
我怎样才能找到解决此问题的解决方法?
提前致谢! :)
【问题讨论】:
-
您是否尝试过规范化您的客户端查询以解释其时区是差异(负 3)这一事实,然后将增量小时传递给您接受参数的服务器 api(小时 + 或- ) 并将其传递给您的函数进行数据库调用
标签: node.js mongodb heroku mongodb-query aggregation-framework