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 min/tests.js from npm package
.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 Update
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 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.



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.