Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Parse, validate, manipulate, and display dates in javascript.
Failed to load latest commit information.
benchmarks perf: add duration benchmark, cleanup benchmarking output
locale Build 2.10.5
meteor Fix for meteor in IE8 (#2308)
min Build 2.10.6
scripts Use whitelist instead of blacklist
src Bump version to 2.10.6
tasks Make jscs happy
templates Fix tests in karma/sauce
.editorconfig Add .editorconfig for project
.gitignore Ignore more coverage stuff
.jscs.json Update grunt jscs
.jshintrc Clean up jscs and jshint errors in tests.
.npmignore Ignore tests when publishing to npm
.spmignore ignore files in packages
.travis.yml Add sudo: false to .travis.yml Update changelog for 2.10.6 Update CONTRIBUTING with info about ES6 modules
Gruntfile.js Make sure karma/sauce works with the new setup
LICENSE Update year range in LICENSE
Moment.js.nuspec Bump version to 2.10.6 add coverage reporting using nyc and coveralls
bower.json bower.json: remove moot `version` field
component.json Bump version to 2.10.6
composer.json Use JavaScript instead of javascript in pkg descriptions
ender.js play nicely within an Ender build
moment.js Build 2.10.6
package.js add a dojo build profile
package.json Bump version to 2.10.6

Join the chat at

NPM version NPM downloads MIT License Build Status Coverage Status

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


Port to ES6 (version 2.10.0)

Moment 2.10.0 does not bring any new features, but the code is now written in es6 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 (es5) 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.



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


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

Something went wrong with that request. Please try again.