Constructing Javascript Date object using custom date string format e.g. dd/mm/yyyy

The Date object is used to work with dates and times. 
Date objects are created with the Date() constructor.
There are four ways of instantiating a date:

new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)

Date(dateString)
This Date constructor only accepts dateString in UTC format.
However, we can write our custom function that accepts a custom format, say dd/mm/yyyy, from which we can extract the date parts and use them to construct a Date object.

function parseDate(input, format) {
  format = format || ‘dd/mm/yyyy’; // somedefault format
  var parts = input.match(/(\d+)/g),
      i = 0, fmt = {};
  // extract date-part indexes from the format
  format.replace(/(yyyy|dd|mm)/g, function(part) { fmt[part] = i++; });
  return new Date(parts[fmt[‘yyyy’]], parts[fmt[‘mm’]]-1,   parts[fmt[‘dd’]]);
}

Usage

parseDate(’01-31-2010′, ‘mm-dd-yyyy’);
parseDate(’31/01/2010′, ‘dd/mm/yyyy’);
parseDate(‘2010/01/31’);

3 thoughts on “Constructing Javascript Date object using custom date string format e.g. dd/mm/yyyy

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.