Обновлено: 23 декабря, 2021
Для работы с датами в JS очень удобно использовать библиотеку Moment.js. Основные возможности использования этой библиотеки:
Текущее время/дата в разных форматах:
moment().format(‘MMMM Do YYYY, h:mm:ss a’); // апрель 11-го 2018, 1:03:34 дня moment().format(‘dddd’); // среда moment().format(“MMM Do YY”); // апр. 11-го 18 moment().format(‘YYYY [escaped] YYYY’); // 2018 escaped 2018 moment().format(); // 2018-04-11T 13:03:54+03:00
Разница во времени от текущего:
moment(“20111031”, “YYYYMMDD”).fromNow(); // 6 лет назад moment(“20120620”, “YYYYMMDD”).fromNow(); // 6 лет назад moment().startOf(‘day’).fromNow(); // 13 часов назад moment().endOf(‘day’).fromNow(); // через 11 часов moment().startOf(‘hour’).fromNow(); // 7 минут назад
Прибавление, вычитание дат:
moment().add(‘days’, 7); // прибавляет к текущей дате 7 дней moment().add(‘months’, 7); // прибавляет текущей дате 7 месяцев moment().add(‘years’, 7); // прибавляет к текущей дате 7 лет moment().subtract(‘days’, 7); // вычитает из текущей даты 7 дней moment().subtract(‘months’, 7); // вычитает 7 месяцев из текущей даты moment().subtract(‘years’, 7); // вычитает 7 лет из текущей даты
Сколько времени прошло между двумя произвольными датами:
var dateB = moment(‘2017-12-12’); var dateC = moment(‘2017-12-11’); console.log(dateB.from(dateC));
Вычисляем разницу между двумя датами:
var dateB = moment(‘2014-11-11’); var dateC = moment(‘2014-10-11’); console.log(‘Разница в ‘, dateB.diff(dateC), ‘миллисекунд’); console.log(‘Разница в ‘, dateB.diff(dateC, ‘days’), ‘дней’); console.log(‘Разница в ‘, dateB.diff(dateC, ‘months’), ‘месяцев’);
Сравнение дат:
console.log(moment(‘2010-09-20’).isAfter(‘2010-10-19’)); // возвращает false console.log(moment(‘2010-11-20’).isAfter(‘2010-10-19’)); // возвращает true
Поддержка других языков:
moment.locale(); // ru moment().format(‘LT’); // 13:15 moment().format(‘LTS’); // 13:15:44 moment().format(‘L’); // 11.04.2018 moment().format(‘l’); // 11.4.2018 moment().format(‘LL’); // 11 апреля 2018 г. moment().format(‘ll’); // 11 апр. 2018 г. moment().format(‘LLL’); // 11 апреля 2018 г., 13:15 moment().format(‘lll’); // 11 апр. 2018 г., 13:15 moment().format(‘LLLL’); // среда, 11 апреля 2018 г., 13:15 moment().format(‘llll’); // ср, 11 апр. 2018 г., 13:15