INs INs - 6 months ago 26
Javascript Question

JavaScript - get the first day of the week from current date

I need the fastest way to get the first day of the week. For example today is 11 of november and thursday, i need to convert that date to 8 of november (monday). I need the fastest method for MongoDB map function, any ideas?

CMS CMS
Answer

Using the getDay method of Date objects, you can know the number of day of the week (being 0=Sunday, 1=Monday, etc).

You can then subtract that number of days plus one, for example:

function getMonday(d) {
  d = new Date(d);
  var day = d.getDay(),
      diff = d.getDate() - day + (day == 0 ? -6:1); // adjust when day is sunday
  return new Date(d.setDate(diff));
}

getMonday(new Date()); // Mon Nov 08 2010
Comments