Parse, validate, manipulate, and display dates in javascript.
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks Added isObjectEmpty benchmark. Aug 6, 2017
locale Build 2.22.2 Jun 1, 2018
meteor Bump version to 2.22.2 Jun 1, 2018
min Build 2.22.2 Jun 1, 2018
scripts Fix fatal error Mar 2, 2017
src [locale] (nl) order months correctly in regex (#4810) Oct 31, 2018
tasks [misc] Add coveralls testing to travis build (#3848) Apr 9, 2018
templates Apply custom header to generated files Nov 6, 2016
typing-tests [misc] Add .ts defn for parseTwoDigitYear (#4378) Mar 5, 2018
.editorconfig Add .editorconfig for project May 4, 2015
.gitattributes Introduce end-of-line normalization Mar 24, 2016
.gitignore added uzbek latin locale Mar 2, 2017
.jscs.json Fix jscs 3.0 error: 'The `esnext` option is enabled by default.' Jun 7, 2016
.jshintrc Clean up jscs and jshint errors in tests. Mar 25, 2015
.npmignore Remove npmignore file from npm package Sep 1, 2016
.spmignore ignore files in packages May 4, 2015
.travis.yml [misc] Upgrade some devDeps to fix vulnerabilities (#4828) Oct 31, 2018 Update changelog for 2.22.2 Jun 1, 2018 Create _isValid property for durations Mar 2, 2017
Gruntfile.js [misc] Add coveralls testing to travis build (#3848) Apr 9, 2018 moment issue template Jun 24, 2016
LICENSE license typo Nov 1, 2016
Moment.js.nuspec Bump version to 2.22.2 Jun 1, 2018 [misc] Add CodeTriage badge to moment/moment (#4455) Mar 5, 2018
bower.json remove tests when installing moment through bower Aug 7, 2017
component.json Bump version to 2.22.2 Jun 1, 2018
composer.json Prefer HTTPS links when they exist Mar 11, 2017
ender.js play nicely within an Ender build Apr 4, 2012
moment.d.ts [misc] add typings for duration.isValid() (#4681) Oct 31, 2018
moment.js Build 2.22.2 Jun 1, 2018
package-lock.json [misc] Upgrade some devDeps to fix vulnerabilities (#4828) Oct 31, 2018
package.js add a dojo build profile Nov 26, 2012
package.json [misc] Upgrade some devDeps to fix vulnerabilities (#4828) Oct 31, 2018

Join the chat at

NPM version NPM downloads MIT License Build Status Coverage Status FOSSA Status

A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.


Port to ECMAScript 6 (version 2.10.0)

Moment 2.10.0 does not bring any new features, but the code is now written in ECMAScript 6 modules and placed inside src/. Previously moment.js, locale/*.js and test/moment/*.js, test/locale/*.js contained the source of the project. Now the source is in src/, temporary build (ECMAScript 5) files are placed under build/umd/ (for running tests during development), and the moment.js and locale/*.js files are updated only on release.

If you want to use a particular revision of the code, make sure to run grunt transpile update-index, so moment.js and locales/*.js are synced with src/*. We might place that in a commit hook in the future.

Upgrading to 2.0.0

There are a number of small backwards incompatible changes with version 2.0.0. See the full descriptions here

  • Changed language ordinal method to return the number + ordinal instead of just the ordinal.

  • Changed two digit year parsing cutoff to match strptime.

  • Removed moment#sod and moment#eod in favor of moment#startOf and moment#endOf.

  • Removed moment.humanizeDuration() in favor of moment.duration().humanize().

  • Removed the lang data objects from the top level namespace.

  • Duplicate Date passed to moment() instead of referencing it.


Contributing Open Source Helpers

We're looking for co-maintainers! If you want to become a master of time please write to ichernev.

In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to subscribe to moment/moment on CodeTriage.


Moment.js is freely distributable under the terms of the MIT license.

FOSSA Status