I am trying to pass random date values to moment and check if the date is this week, this month or this year but it seems there is no simple function to achive this without
You can use queries (check docs)
moment(dateToCheck).isSame(new Date(), 'week'); //true if dates are in the same week
moment(dateToCheck).isSame(new Date(), 'month'); //true if dates are in the same month
moment(dateToCheck).isSame(new Date(), 'year'); //true if dates are in the same year
Use .isSame()
Check if a moment is the same as another moment.
moment().isSame(Moment|String|Number|Date|Array);
moment().isSame(Moment|String|Number|Date|Array, String);
Supported units:
year month week day hour minute second
moment('2010-10-20').isSame('2010-01-01', 'year'); // true
moment('2010-01-01').isSame('2011-01-01', 'month'); // false, different year
moment('2010-01-01').isSame('2010-02-01', 'day'); // false, different month