我想按天分组事件。在开发环境(巴西)中,它正确地执行了组,但在服务器(USA)上没有。它将事件发生在第二天开始的一天结束时。我想这与时区有关。
事件的日期采用以下格式:
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]
});
}
});
我怎样才能做到这一点?我整天都没有取得任何进展。 :(
答案 0 :(得分:1)
您可以尝试使用moment-timezone
,并在每个步骤验证日期格式为UTC,输入/输出是否正确,适合时区(UTC / GMT)。
或者,我认为这是最好的,使用getTime()来获取MS,因为epoch,store和group使用那个大数字(你可以使用mod%来获取纪元以来的日子)。