我想按天对事件进行分组。在开发环境(巴西)中,它可以正确地进行分组,但在服务器(美国)上则不然。它将一天结束时发生的事件放在第二天开始时。我想这与时区有关。
事件日期采用以下格式:
2016-11-03T18:00:00-0200
下面是我的代码,我尝试了一些方法来解决这个问题,但无法解决。我正在使用MomentJS处理日期。事件必须按天分组,无论时区、偏移量或其他任何内容。
const events = [];
_.forEach(ungroupedEvents, event => {
const date = moment(event.start_time, moment.ISO_8601);
const period = _.find(events, period => date.isSame(period.date, 'day'));
if (period) {
period.events.push(event);
} else {
events.push({
date: date.format('L'),
events: [event]
});
}
});
我怎样才能实现这个目标?我一整天都没有取得任何进展。 :(
最佳答案
您可以尝试使用 moment-timezone
并在每个步骤中验证日期格式是否为 UTC,以及正确时区 (UTC/GMT) 的输入/输出是否正确。
或者,我认为这是最好的,使用 getTime() 获取自纪元以来的 MS,使用该大数字进行存储和分组(您可以使用 mod % 获取自纪元以来的日期)。
关于javascript - MomentJS 在服务器上以不同方式比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40413793/