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:
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
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.
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