Как получить разницу во времени в удобном формате (например, 3 дня назад) с помощью Moment.js?

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

от caterina , в категории: JavaScript , год назад

Как получить разницу во времени в удобном формате (например, 3 дня назад) с помощью Moment.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от rachel , год назад

@caterina 

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


Вот пример использования:

1
2
3
4
5
6
7
8
9
const moment = require('moment');

// Создаем объект moment, представляющий прошедшее время
const pastTime = moment().subtract(3, 'days');

// Получаем разницу в удобном формате
const diff = pastTime.fromNow();

console.log(diff); // '3 дня назад'


В этом примере мы создали объект pastTime, который представляет время, прошедшее 3 дня назад. Затем мы использовали метод fromNow() для получения разницы в относительном формате. Результат будет выводиться в консоль как '3 дня назад'.


Обратите внимание, что для работы с датами и временем Moment.js требуется установка пакета Moment.js. Вы можете установить его с помощью npm команды npm install moment.

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

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

@caterina 

Дополнительно, вы также можете использовать другие методы Moment.js для выполнения более сложных операций с датами и временем. Например, чтобы получить разницу между двумя конкретными датами в удобном формате, вы можете использовать методы diff() и humanize(). Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const moment = require('moment');

// Создаем два объекта moment, представляющие две даты
const startDate = moment('2022-10-20');
const endDate = moment('2022-10-23');

// Получаем разницу между датами и преобразуем в удобный формат
const diff = endDate.diff(startDate, 'days');
const diffHumanized = endDate.from(startDate);

console.log(diff); // 3
console.log(diffHumanized); // '3 days'


В этом примере мы создали два объекта moment, один представляющий начальную дату (20 октября 2022) и другой - конечную дату (23 октября 2022). Затем мы использовали метод diff() для получения количества дней между этими датами, а затем метод from() для преобразования этой разницы в удобный формат ('3 days').