No need to know exact date format. Leave its-a-date to figure it out.
$ npm install its-a-date
var itsadate = require('its-a-date');
// Wed Aug 17 2011 15:44:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("5 years ago at 15:44");
// Wed Apr 11 1990 00:45:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("3 months after 11/01/1990");// Fri Aug 19 2016 11:47:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("11:47");
// Tue Mar 27 2012 14:05:00 GMT+0200 (Jerusalem Standard Time)
itsadate.parse("27.3.2012");
// Tue Mar 27 2012 12:00:00 GMT+0200 (Jerusalem Standard Time)
itsadate.parse("27/3/2012 12:00");// Thu Aug 18 2016 14:05:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("yesterday");
// Thu Aug 18 2016 16:20:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("yesterday at 16:20");
//Fri Aug 19 2011 14:05:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("5 years ago");
// Fri Aug 19 2011 15:44:00 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("5 years ago at 15:44");When its-a-date doesn't know what date it is, it will resolve current datetime. However many times it surprises.
// Sun Jan 01 1984 14:05:00 GMT+0200 (Jerusalem Standard Time)
itsadate.parse('it was on the 1st of January, ' +
'the dark cold winter of 1984');
// Fri Aug 19 2016 14:05:15 GMT+0300 (Jerusalem Daylight Time)
itsadate.parse("pikachu");Hit brag to console out example from each token implemented
itsadate.brag()When date description has inner conflicts an exception will be thrown
// ERROR: Two or more absolute modifications are not allowed on the same date entity
itsadate.parse('1st of november 02/03/2000')- Allows a user to type a date more naturally in a web page or social media.
- Allows crawlers to parse relative dates easily.
A micro-compiler is implemented. It parses date part tokens & interpret them as modifications on the perceived date.
- UTC control
- Basic format hints, optional
- Custom tokens insertion
https://github.com/bendorshai/its-a-date
The package is still at very early stages and it is not complete.