私がここで抱えている問題は、先月の29または28に戻るのではなく、その月の終わりにマイナスに戻ると、プログラムが日ではなくマイナスの月に始まることです。以下は私の完全なコードであり、その下はグーグルスプレッドシートで生成される出力です。
function trying(){ 
  var date = new Date(); 
  var datechange = new Date();
  var array = new Array(7);
 for (var i = 0; i < 7; i++) {
    array[i] = new Array(0);
  }
  for ( var i = 0; i < 7; i++){ 
   days = i + 8
   datechange.setDate(date.getDate() - days);
   var tabName = Utilities.formatDate(datechange, 'MST', 'yyyy-MM-dd').toString(); 
       array[i][0] = tabName;
    }
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Want");
  sheet.getRange("B2:B8").setValues(array); 
}
これは、作成される日付です。
05/07/2012 04/07/2012 03/07/2012 02/07/2012 01/07/2012 30/06/2012 30/05/2012