I'm trying to convert an array of days:
['1','2','3','4','5']
to an array of dates which are today +1 day , today +2 etc
I have:
interval_dates = []
var intervals = rows[index+1][0].split(',')
var now = new Date();
for (i in intervals){
// add a day
interval_dates.push(now.setDate(now.getDate() + intervals[i]));
}
Logger.log(interval_dates);
I'm seeing
[1.505998326018E12, 1.522500726018E12, 1.546869126018E12, 1.552654326018E12, 1.564750326018E12], ]
what am I doing wrong?
The intervals are string, you need to get the day of today and add the interval after converting it to a number using +interval
, so it would be now.getDate() + +intervals[i]
, then call new Date()
on the result, and of course change the loop from i in intervals
to a number range:
var intervals = ['1','2','3','4','5'];
var interval_dates = [];
var date;
for (var i=0; i<intervals.length; i++){
// add a day
date = new Date();
interval_dates.push(new Date(date.setDate(date.getDate() + +intervals[i])));
}
console.log(interval_dates);
function arrayOfDays()
{
var dayA=[1,2,3,4,5];
var today=new Date().setHours(0,0,0,0);
var day=24*60*60*1000;
var days=[];
for(var i=0;i<dayA.length;i++)
{
days.push(Utilities.formatDate(new Date(today + (i * day)), Session.getScriptTimeZone(), "MM/dd/yyyy"));
}
//Logger.log(days);
var ui=HtmlService.createHtmlOutput('[' + days.join(', ') + ']');
SpreadsheetApp.getUi().showModelessDialog(ui, 'Array of Days')
}