How to get the start date and end date of current week, with the week start from Monday and end with Sunday, with JavaScript?

Sometimes, we want to get the start date and end date of current week, with the week start from Monday and end with Sunday, with JavaScript.

In this article, we’ll look at how to get the start date and end date of current week, with the week start from Monday and end with Sunday, with JavaScript.

How to get the start date and end date of current week, with the week start from Monday and end with Sunday, with JavaScript?

To get the start date and end date of current week, with the week start from Monday and end with Sunday, with JavaScript, we can use some date methods.

For instance, we write:

const startAndEndOfWeek = (date) => {
  const now = date ? new Date(date) : new Date().setHours(0, 0, 0, 0);
  const monday = new Date(now);
  monday.setDate(monday.getDate() - monday.getDay() + 1);
  const sunday = new Date(now);
  sunday.setDate(sunday.getDate() - sunday.getDay() + 7);
  return [monday, sunday];
}

const d = new Date(2022, 3, 1)
console.log(startAndEndOfWeek(d))

to define the startAndEndOfWeek function that takes a date.

In it, we compute the Monday and Sunday of the week that has the given date.

To do this, we create a copy of date with the Date constructor.

Then we get monday by creating a new date from now.

And then we call setDate with monday.getDate() - monday.getDay() + 1 to set the day of the week of monday to the Monday within the same week as date.

Likewise, we call setDate with sunday.getDate() - sunday.getDay() + 7 to set the day of the week of sunday to the Sunday within the same week as date.

Finally, we return both dates.

As a result, the console log logs  [Mon Mar 28 2022 00:00:00 GMT-0700 (Pacific Daylight Time), Sun Apr 03 2022 00:00:00 GMT-0700 (Pacific Daylight Time)].

Conclusion

To get the start date and end date of current week, with the week start from Monday and end with Sunday, with JavaScript, we can use some date methods.