Moment.js
Анализировать, проверять, манипулировать и отображать даты и время в JavaScript.
Библиотека для работой с датой, временем, часовыми зонами в JavaScript, NodeJS:
Скачать
React
https://www.npmjs.com/package/react-moment
npm install --save moment react-moment
Установка
npm install moment --save # npm
yarn add moment # Yarn
Install-Package Moment.js # NuGet
spm install moment --save # spm
meteor add momentjs:moment # meteor
bower install moment --save # bower (deprecated)
UNIX время (секнды с 1970 года)
moment().unix(); // 1580367876
Примеры
К текущей дате добавить 3 дня и выставить фиксированное время 18:00 и отобразить в формате ru:
moment().add( 3, 'days' ).hour(18).minute(0).format( 'DD.MM.YYYY HH:mm' ) // 14.12.2019 18:00
Вывести текущее время в формате как в PHP «Y-m-d H:i:s»:
moment().format('YYYY-MM-DD HH:mm:ss')
Вывести в формате с буквой «T» как разделитель даты и времени:
moment().format("YYYY-MM-DD[T]HH:mm:ss")
Формат даты
moment().format('MMMM Do YYYY, h:mm:ss a'); // декабрь 11-го 2019, 3:12:04 дня
moment().format('dddd'); // среда
moment().format("MMM Do YY"); // дек. 11-го 19
moment().format('YYYY [escaped] YYYY'); // 2019 escaped 2019
moment().format(); // 2019-12-11T15:12:04+03:00
Относительное время
moment("20111031", "YYYYMMDD").fromNow(); // 8 лет назад
moment("20120620", "YYYYMMDD").fromNow(); // 7 лет назад
moment().startOf('day').fromNow(); // 15 часов назад
moment().endOf('day').fromNow(); // через 9 часов
moment().startOf('hour').fromNow(); // 13 минут назад
Вычисляем разницу между двумя датами
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'), 'месяцев');
Календарное время
moment().subtract(10, 'days').calendar(); // 01.12.2019
moment().subtract(6, 'days').calendar(); // В прошлый четверг, в 15:13
moment().subtract(3, 'days').calendar(); // В прошлое воскресенье, в 15:13
moment().subtract(1, 'days').calendar(); // Вчера, в 15:13
moment().calendar(); // Сегодня, в 15:13
moment().add(1, 'days').calendar(); // Завтра, в 15:13
moment().add(3, 'days').calendar(); // В субботу, в 15:13
moment().add(10, 'days').calendar(); // 21.12.2019
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 лет из текущей даты
Поддержка нескольких языков
moment.locale(); // ru
moment().format('LT'); // 15:14
moment().format('LTS'); // 15:14:06
moment().format('L'); // 11.12.2019
moment().format('l'); // 11.12.2019
moment().format('LL'); // 11 декабря 2019 г.
moment().format('ll'); // 11 дек. 2019 г.
moment().format('LLL'); // 11 декабря 2019 г., 15:14
moment().format('lll'); // 11 дек. 2019 г., 15:14
moment().format('LLLL'); // среда, 11 декабря 2019 г., 15:14
moment().format('llll'); // ср, 11 дек. 2019 г., 15:14
Сравнение дат
console.log(moment('2010-09-20').isAfter('2010-10-19')); // возвращает false
console.log(moment('2010-11-20').isAfter('2010-10-19')); // возвращает true