У меня есть строка, которая хранится в UTC. Я пытаюсь посмотреть, не наступит ли это время после текущего времени UTC. Я использую momentjs, а метод isAfter() возвращает неверное значение, когда разница в 1 час.Moment .isAfter неправильно возвращается
Переменная active_time происходит в 15:00 utc. Current_time установлен в 16:00 utc. Поэтому я думаю, active_time.isAfter(current_time)
должен вернуть false
, но он возвращает true
. Как я могу вернуть его false
?
jsFiddle ссылка: http://jsfiddle.net/Ln1bz1nx/
Код:
//String is already in utc time
var active_time = moment('2015-06-04T15:00Z', 'YYYY-MM-DD[T]HH:mm[Z]');
//Convert current time to moment object with utc time
var current_time = moment(moment('2015-06-04T16:00Z').utc().format('YYYY-MM-DD[T]HH:mm[Z]'));
console.log('active_time =',active_time);
console.log('current_time =',current_time);
console.log(active_time.isAfter(current_time)); //Why does this return true?
Возвращает 'false' мне: http://jsfiddle.net/Ln1bz1nx/3/ –
Weird. Это всегда «правда» для меня. Я использую Macbook, я не знаю, может ли это что-то с этим делать. – Mdd
Я не получаю надежных результатов от isAfter. Если я использую .unix() в оба момента, я могу сравнить, но в противном случае, если они находятся в разных часовых поясах или происходят из разных источников, это не работает надежно. –