Relative Time Parser Plugin for Moment.js
This plugin converts a simple string to a manipulated moment object. The string format is inspired by Graphite's relative time format.
npm install relative-time-parser
Using the string -7d would be equivalent of moment().subtract(7, 'days');, and similarly, using the string +7d would be equivalent of moment().add(7, 'days');. The specific abbreviations are listed in the table below.
var moment = require('relative-time-parser');
moment().relativeTime('-6h').format();moment().relativeTime('-6ms');moment().relativeTime('+6ms');moment().relativeTime('-6s');moment().relativeTime('+6s');moment().relativeTime('-6sec');moment().relativeTime('+6sec');moment().relativeTime('-6second');moment().relativeTime('+6second');moment().relativeTime('-6seconds');moment().relativeTime('+6seconds');moment().relativeTime('-6m');moment().relativeTime('+6m');moment().relativeTime('-6min');moment().relativeTime('+6min');moment().relativeTime('-6minute');moment().relativeTime('+6minute');moment().relativeTime('-6minutes');moment().relativeTime('+6minutes');moment().relativeTime('-6h');moment().relativeTime('+6h');moment().relativeTime('-6hour');moment().relativeTime('+6hour');moment().relativeTime('-6hours');moment().relativeTime('+6hours');moment().relativeTime('-6d');moment().relativeTime('+6d');moment().relativeTime('-6day');moment().relativeTime('+6day');moment().relativeTime('-6w');moment().relativeTime('+6w');moment().relativeTime('-6week');moment().relativeTime('+6week');moment().relativeTime('-6weeks');moment().relativeTime('+6weeks');moment().relativeTime('-6mon');moment().relativeTime('+6mon');moment().relativeTime('-6month');moment().relativeTime('+6month');moment().relativeTime('-6months');moment().relativeTime('+6months');moment().relativeTime('-6M');moment().relativeTime('+6M');moment().relativeTime('-6Q');moment().relativeTime('+6Q');moment().relativeTime('-6Quarter');moment().relativeTime('+6Quarter');moment().relativeTime('-6Quarters');moment().relativeTime('+6Quarters');moment().relativeTime('-6y');moment().relativeTime('+6y');moment().relativeTime('-6year');moment().relativeTime('+6year');moment().relativeTime('-6years');moment().relativeTime('+6years');moment().relativeTime('now');moment().isRelativeTimeFormat('-2y'); // should === truemoment().isRelativeTimeFormat('xxx'); // should === falsemoment().isRelativeTimeFormat('now'); // should === true