Moment.js

Анализировать, проверять, манипулировать и отображать даты и время в JavaScript.

Библиотека для работой с датой, временем, часовыми зонами в JavaScript, NodeJS:

https://momentjs.com/

Скачать

moment.js

moment-with-locales.js

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
Afrikaans
Albanian
Arabic
Arabic (Algeria)
Arabic (Kuwait)
Arabic (Lybia)
Arabic (Morocco)
Arabic (Saudi Arabia)
Arabic (Tunisia)
Armenian
Azerbaijani
Bambara
Basque
Belarusian
Bengali
Bosnian
Breton
Bulgarian
Burmese
Cambodian
Catalan
Central Atlas Tamazight
Central Atlas Tamazight Latin
Chinese (China)
Chinese (Hong Kong)
Chinese (Taiwan)
Chuvash
Croatian
Czech
Danish
Dutch
Dutch (Belgium)
English (Australia)
English (Canada)
English (Ireland)
English (Israel)
English (New Zealand)
English (Singapore)
English (United Kingdom)
English (United States)
Esperanto
Estonian
Faroese
Finnish
French
French (Canada)
French (Switzerland)
Frisian
Galician
Georgian
German
German (Austria)
German (Switzerland)
Greek
Gujarati
Hebrew
Hindi
Hungarian
Icelandic
Indonesian
Irish or Irish Gaelic
Italian
Italian (Switzerland)
Japanese
Javanese
Kannada
Kazakh
Klingon
Konkani Latin script
Korean
Kurdish
Kyrgyz
Lao
Latvian
Lithuanian
Luxembourgish
Macedonian
Malay
Malay
Malayalam
Maldivian
Maltese (Malta)
Maori
Marathi
Mongolian
Montenegrin
Nepalese
Northern Sami
Norwegian Bokmål
Nynorsk
Persian
Polish
Portuguese
Portuguese (Brazil)
Pseudo
Punjabi (India)
Romanian
Russian
Scottish Gaelic
Serbian
Serbian Cyrillic
Sindhi
Sinhalese
Slovak
Slovenian
Spanish
Spanish (Dominican Republic)
Spanish (United States)
Swahili
Swedish
Tagalog (Philippines)
Tajik
Talossan
Tamil
Telugu
Tetun Dili (East Timor)
Thai
Tibetan
Turkish
Ukrainian
Urdu
Uyghur (China)
Uzbek
Uzbek Latin
Vietnamese
Welsh
Yoruba Nigeria
siSwati