Moment.js Sandbox

by syjsdev

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>

JavaScript

function getDatesFromRange(value, unit) {
  if (!value && value !== 0) {
    console.error('Invalid date value');
    return null;
  }

  let endDate = moment().utcOffset(0);
  let startDate = moment(endDate).subtract(value, unit);

	console.log(startDate.toISOString(), endDate.toISOString())
  if (startDate.isAfter(endDate)) {
    // swap start and end date
    [startDate, endDate] = [endDate, startDate];
  }

  startDate = startDate.startOf(unit);
  endDate = endDate.endOf(unit);
	console.log(startDate.toISOString(), endDate.toISOString())

  return [startDate.toDate(), endDate.toDate()];
}

console.log(getDatesFromRange(0, 'weeks'))