Get last week date with jQuery/Javascript

We can't have a javascript date question answered without mentioning Moment.js.

moment().subtract('days', 7).format('MM-DD-YYYY')

Possible without external dependencies

    new Date().setDate(new Date().getDate() - 7)

 var firstDay = new Date("2009/10/02");
 var previousweek= new Date(firstDay.getTime() - 7 * 24 * 60 * 60 * 1000);

Check out this link. It will help:- http://code.google.com/p/datejs/


I prefer something like this ​

function getLastWeek() {
  var today = new Date();
  var lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
  return lastWeek;
}

var lastWeek = getLastWeek();
var lastWeekMonth = lastWeek.getMonth() + 1;
var lastWeekDay = lastWeek.getDate();
var lastWeekYear = lastWeek.getFullYear();

var lastWeekDisplay = lastWeekMonth + "/" + lastWeekDay + "/" + lastWeekYear;
var lastWeekDisplayPadded = ("00" + lastWeekMonth.toString()).slice(-2) + "/" + ("00" + lastWeekDay.toString()).slice(-2) + "/" + ("0000" + lastWeekYear.toString()).slice(-4);

console.log(lastWeekDisplay);
console.log(lastWeekDisplayPadded);

And if you're using jQuery UI, you can do this instead of the manual steps to build the string

var lastWeekDisplay = $.datepicker.formatDate('mm/dd/yy', getLastWeek());

Or for today

var todayDisplay = $.datepicker.formatDate('mm/dd/yy', new Date());