Over a million developers have joined DZone.

Getting Started With Moment.js: Introduction With Examples

DZone 's Guide to

Getting Started With Moment.js: Introduction With Examples

We take a quick look at how to manipulate time and dates in our web application using this open source JavaScript library.

· Web Dev Zone ·
Free Resource

I think date manipulation is the most common process that every developer must deal with in his career. There are so many tools available for Date Manipulation in JavaScript like date.js, date-fns and so many interesting libraries. Moment.js is one of them.

The developer can easily interact with date and time domain problems by using Moment.js. JavaScript Date requires lines of code for parsing, manipulation, and validation.

Instead of modifying the native Date.prototype, Moment.js creates a wrapper for the Date object. To get this wrapper object, simply call moment() with one of the supported input types. Moment.js has a very flexible and advanced parser that allows a huge range of functionality.

Before we begin, include the library from cdnjs in your HTML code.

To get current date and time, just call moment() with no arguments.

var currentTime = moment(); //same as calling moment(new Date());

Parsing and Validation of Dates

  • To get the date in a few different formats:
var date = moment.format("MM-DD-YYYY"); // will return in MM-DD-YYYY format
var date2 = moment.format("DD/MM/YYYY"); // will return in DD/MM/YYYY format
  • To parse date time string:
moment("03-06-1995", "MM-DD-YYYY");

The parser ignores non-alphanumeric characters, so both of the following lines of code will return the same thing.

moment("03-06-1995", "MM-DD-YYYY");
moment("03/06/1995", "MM-DD-YYYY");
  • For validation of the date, we can use the isValid() function.
moment.isValid(); //return true
var m = moment("2011-25-08T12:65:20");
m.isValid(); // return false
m.invalidAt(); // return 4 for minutes

The return value for invalidAt() has the following meaning :

  • 0 for years, 1 for months, 2 for days, 3 for hours, 4 for minutes, 5 for seconds,6 for milliseconds.

Manipulation of Dates

Once you have a Moment, you can manipulate the date in some way. There are a number of methods to help with this. Moment.js uses method chaining.

You can add, subtract or set your app to the start or end of the day, month and year. For example:

moment().add(360,'days'); // add 360 Days to current Date
moment().subtract(7,'months') // subtact 7 months from current Date
moment().startOf('year');// set to January 1st, 12:00 am this year
moment().endOf('year');// set the moment to 12-31 23:59:59.999 this year

As you all have seen, Moment.js is a great library for working with dates in JavaScript. We have covered just some of the basics in this article. It has lot of other cool features to offer. Check out their documentation and source code on GitHub.


moment.js ,javascript application ,web dev

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}