Как работать с относительными датами и временем в Moment.js (например, "вчера", "сегодня", "завтра")?

Пользователь

от hermina.hauck , в категории: JavaScript , 8 месяцев назад

Как работать с относительными датами и временем в Moment.js (например, "вчера", "сегодня", "завтра")?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от violette_robel , 8 месяцев назад

@hermina.hauck 

Moment.js предоставляет возможность работы с относительными датами и временем при помощи метода fromNow(). Этот метод принимает объект moment и возвращает строку, содержащую относительную дату или время.


Для работы с относительными датами можно использовать следующий код:

1
2
3
4
5
6
7
8
const now = moment(); // текущая дата и время

const yesterday = moment().subtract(1, 'day');
const tomorrow = moment().add(1, 'day');

console.log(yesterday.fromNow()); // "вчера"
console.log(now.fromNow()); // "сегодня"
console.log(tomorrow.fromNow()); // "завтра"


В данном примере мы создаем объекты moment, представляющие "вчера", "сегодня" и "завтра", а затем используем метод fromNow() для вывода относительной даты и времени в формате строки.


Для работы с относительным временем можно использовать аналогичный подход:

1
2
3
4
5
6
7
8
const now = moment(); // текущая дата и время

const oneHourAgo = moment().subtract(1, 'hour');
const oneHourLater = moment().add(1, 'hour');

console.log(oneHourAgo.fromNow()); // "час назад"
console.log(now.fromNow()); // "через несколько секунд"
console.log(oneHourLater.fromNow()); // "через час"


В этом примере мы создаем объекты moment, представляющие "час назад", "сейчас" и "через час", а затем используем метод fromNow() для вывода относительного времени в формате строки.


Moment.js также предоставляет другие методы для работы с относительными датами и временем, такие как .calendar(), .toNow() и другие. Вы можете ознакомиться с полным списком методов и их описанием в документации Moment.js.