Considering using Moment in your project?
There may be better modern alternatives.
For more details and recommendations,
please see Project Status in the docs.

Moment.js 2.30.1

Parse, validate, manipulate, and display dates and times in JavaScript.

Download

moment.js moment.min.js 18.4k moment-with-locales.js moment-with-locales.min.js 74.6k

Install

npm install moment --save   # npm
yarn add moment             # Yarn
spm install moment --save   # spm
meteor add momentjs:moment  # meteor
bower install moment --save # bower (deprecated)

Format Dates

moment().format('MMMM Do YYYY, h:mm:ss a'); // April 1st 2025, 11:50:49 am
moment().format('dddd');                    // Tuesday
moment().format("MMM Do YY");               // Apr 1st 25
moment().format('YYYY [escaped] YYYY');     // 2025 escaped 2025
moment().format();                          // 2025-04-01T11:50:49+00:00

Relative Time

moment("20111031", "YYYYMMDD").fromNow(); // 13 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 13 years ago
moment().startOf('day').fromNow();        // 12 hours ago
moment().endOf('day').fromNow();          // in 12 hours
moment().startOf('hour').fromNow();       // an hour ago

Calendar Time

moment().subtract(10, 'days').calendar(); // 03/22/2025
moment().subtract(6, 'days').calendar();  // Last Wednesday at 11:50 AM
moment().subtract(3, 'days').calendar();  // Last Saturday at 11:50 AM
moment().subtract(1, 'days').calendar();  // Yesterday at 11:50 AM
moment().calendar();                      // Today at 11:50 AM
moment().add(1, 'days').calendar();       // Tomorrow at 11:50 AM
moment().add(3, 'days').calendar();       // Friday at 11:50 AM
moment().add(10, 'days').calendar();      // 04/11/2025

Multiple Locale Support

moment.locale();         // en
moment().format('LT');   // 11:50 AM
moment().format('LTS');  // 11:50:49 AM
moment().format('L');    // 04/01/2025
moment().format('l');    // 4/1/2025
moment().format('LL');   // April 1, 2025
moment().format('ll');   // Apr 1, 2025
moment().format('LLL');  // April 1, 2025 11:50 AM
moment().format('lll');  // Apr 1, 2025 11:50 AM
moment().format('LLLL'); // Tuesday, April 1, 2025 11:50 AM
moment().format('llll'); // Tue, Apr 1, 2025 11:50 AM
Afrikaans
Albanian
Arabic
Arabic (Algeria)
Arabic (Kuwait)
Arabic (Libya)
Arabic (Morocco)
Arabic (Palestine)
Arabic (Saudi Arabia)
Arabic (Tunisia)
Armenian
Azerbaijani
Bambara
Basque
Belarusian
Bengali
Bengali (Bangladesh)
Bosnian
Breton
Bulgarian
Burmese
Cambodian
Catalan
Central Atlas Tamazight
Central Atlas Tamazight Latin
Chinese (China)
Chinese (Hong Kong)
Chinese (Macau)
Chinese (Taiwan)
Chuvash
Croatian
Czech
Danish
Dutch
Dutch (Belgium)
English (Australia)
English (Canada)
English (India)
English (Ireland)
English (Israel)
English (New Zealand)
English (Singapore)
English (United Kingdom)
English (United States)
Esperanto
Estonian
Faroese
Filipino
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 Devanagari script
Konkani Latin script
Korean
Kurdish
Kyrgyz
Lao
Latvian
Lithuanian
Luxembourgish
Macedonian
Malay
Malayalam
Maldivian
Maltese (Malta)
Maori
Marathi
Mongolian
Montenegrin
Nepalese
Northern Kurdish
Northern Sami
Norwegian Bokmål
Nynorsk
Occitan, lengadocian dialecte
Persian
Polish
Portuguese
Portuguese (Brazil)
Pseudo
Punjabi (India)
Romanian
Russian
Scottish Gaelic
Serbian
Serbian Cyrillic
Sindhi
Sinhalese
Slovak
Slovenian
Spanish
Spanish (Dominican Republic)
Spanish (Mexico)
Spanish (United States)
Swahili
Swedish
Tagalog (Philippines)
Tajik
Talossan
Tamil
Telugu
Tetun Dili (East Timor)
Thai
Tibetan
Turkish
Turkmen
Ukrainian
Urdu
Uyghur (China)
Uzbek
Uzbek Latin
Vietnamese
Welsh
Yoruba Nigeria
siSwati