Fetching contributors…
Cannot retrieve contributors at this time
129 lines (108 sloc) 2.99 KB
title version signature
moment.duration(Number, String); moment.duration(Number); moment.duration(Object); moment.duration(String);

To create a duration, call moment.duration() with the length of time in milliseconds.

moment.duration(100); // 100 milliseconds

If you want to create a moment with a unit of measurement other than milliseconds, you can pass the unit of measurement as well.

moment.duration(2, 'seconds');
moment.duration(2, 'minutes');
moment.duration(2, 'hours');
moment.duration(2, 'days');
moment.duration(2, 'weeks');
moment.duration(2, 'months');
moment.duration(2, 'years');

The same shorthand for moment#add and moment#subtract works here as well.

Key Shorthand
years y
months M
weeks w
days d
hours h
minutes m
seconds s
milliseconds ms

Much like moment#add, you can pass an object of values if you need multiple different units of measurement.

    seconds: 2,
    minutes: 2,
    hours: 2,
    days: 2,
    weeks: 2,
    months: 2,
    years: 2

As of 2.1.0, moment supports parsing ASP.NET style time spans. The following formats are supported.

The format is an hour, minute, second string separated by colons like 23:59:59. The number of days can be prefixed with a dot separator like so 7.23:59:59. Partial seconds are supported as well 23:59:59.999.

moment.duration('23:59'); // added in 2.3.0

As of 2.3.0, moment also supports parsing ISO 8601 durations.


As of 2.11.0, duration format strings with a space between days and rest is supported.

moment.duration('7 23:59:59.999');

As of 2.13.0, mixed negative and positive signs are supported when parsing durations.


As of 2.18.0, invalid durations are supported, similarly to invalid moments. To create an invalid duration you can pass NaN for a value of a unit.

In upcoming releases expect invalid durations to cover more cases (like null values for units).

moment.duration(NaN, 'days');