Метод isAfter библиотеки Moment.js используется для
проверки, находится ли один момент времени позже
другого. Этот метод позволяет сравнивать объекты
moment между собой или с конкретной датой, предоставленной
в виде строки, числа или объекта Date.
moment().isAfter(Moment|String|Number|Date|Array, String);
Параметры:
'year', 'month',
'day', 'hour', 'minute',
'second', 'millisecond'). Если параметр не
указан, сравнение происходит по полной дате и времени.const now = moment();
const future = moment('2026-06-01');
console.log(future.isAfter(now)); // true, future позже текущего момента
console.log(now.isAfter(future)); // false
Если указать единицу измерения, метод проверяет только её уровень, игнорируя более мелкие единицы:
const date1 = moment('2026-05-21T12:30');
const date2 = moment('2026-05-21T09:15');
console.log(date1.isAfter(date2, 'day')); // false, даты в один день
console.log(date1.isAfter(date2, 'hour')); // true, 12 > 9
Метод isAfter гибко работает с различными форматами
дат:
"YYYY-MM-DD",
"YYYY-MM-DD HH:mm:ss", ISO-формат.Date.[год, месяц, день, часы, минуты, секунды, миллисекунды].console.log(moment().isAfter('2026-05-21', 'day')); // true или false в зависимости от текущей даты
console.log(moment().isAfter(new Date(2026, 4, 21))); // месяца считаются с 0, 4 = май
console.log(moment().isAfter([2026, 4, 21])); // аналогично объекту Date
Метод isAfter позволяет проверять не только полное
время, но и определённый уровень времени, что удобно для календарных
операций:
const start = moment('2026-05-21 10:00');
const end = moment('2026-05-21 18:30');
console.log(end.isAfter(start, 'hour')); // true
console.log(end.isAfter(start, 'day')); // false
Важно помнить, что при указании единицы времени сравнение игнорирует более мелкие единицы. Например, при сравнении по дню минуты и часы не учитываются.
const eventEnd = moment('2026-05-30');
if (moment().isAfter(eventEnd)) {
console.log('Событие уже завершилось');
} else {
console.log('Событие ещё активно');
}
const createdAt = moment('2026-05-21T09:00');
if (moment().isAfter(createdAt, 'minute')) {
console.log('Запись создана более минуты назад');
}
const userInput = moment('2026-06-01', 'YYYY-MM-DD');
if (userInput.isAfter(moment())) {
console.log('Выбрана будущая дата');
}
true
или false), что делает его удобным для условных
операторов.false.isBefore, isSame,
diff).Moment.js корректно обрабатывает объекты с разными временными зонами при использовании Moment Timezone:
const moscow = moment.tz('2026-05-21 12:00', 'Europe/Moscow');
const london = moment.tz('2026-05-21 10:00', 'Europe/London');
console.log(moscow.isAfter(london)); // true, учитывается смещение часового пояса
Метод isAfter часто используется вместе с
add, subtract и clone для
динамических вычислений:
const deadline = moment().add(7, 'days'); // через 7 дней
if (moment().isAfter(deadline.clone().subtract(1, 'days'))) {
console.log('Остался последний день до дедлайна');
}
Метод isAfter является мощным инструментом для сравнения
моментов времени, позволяя выполнять проверки как на уровне полного
времени, так и с точностью до конкретной единицы. Его гибкость и
совместимость с различными форматами даты делают его незаменимым для
работы с временными данными в JavaScript.