我在MongoDB中使用MapReduce在日常级别进行聚合。在地图代码中,我有以下代码段来获取一年中的某一天:
var day = Date.UTC(this.time.getFullYear(), this.time.getMonth(), this.time.getDate(), 1, 0, 0);
在大多数情况下,它运作良好。但是,显然存在时区问题,迫使时间戳移动到上一个日期。例如,从该查询的结果中获得的文档:
{'time' : {'$gte' : new Date(2014, 0, 1, 0), '$lt' : new Date(2014, 0, 1, 9)}}
最终成为2013-12-31 17:00:00.000Z以及被查询的人:
{'time' : {'$gte' : new Date(2014, 0, 1, 9), '$lt' : new Date(2014, 0, 1, 23)}}
最终成为2014-01-01 17:00:00.000Z。我该怎么控制呢?