Skip to content
Parse, validate, manipulate, and display dates in javascript.
Latest commit dd9cff0 @ichernev ichernev Build 2.11.2
Failed to load latest commit information.
benchmarks perf: add duration benchmark, cleanup benchmarking output
locale Build 2.11.1
meteor Use Meteor v1.2 core when available. This fixes the package breaking …
min Build 2.11.2
scripts Include changelog in npm release
src Bump version to 2.11.2
tasks Add ; before each main file's IIFE
templates Add ; before each main file's IIFE
.editorconfig Add .editorconfig for project
.gitignore Update .gitignore
.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 Run travis tests on last IO.js + node versions Update changelog for 2.11.2 Update CONTRIBUTING with info about ES6 modules
Gruntfile.js Fix saucelabs config for Edge and IE
LICENSE Update copyright to 2016
Moment.js.nuspec Bump version to 2.11.2 Coveralls badge should use develop branch
bower.json bower.json: remove moot `version` field
component.json Bump version to 2.11.2
composer.json Use JavaScript instead of javascript in pkg descriptions
ender.js play nicely within an Ender build
moment.js Build 2.11.2
package.js add a dojo build profile
package.json Bump version to 2.11.2

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.