我正在尝试转换一系列天数:
['1','2','3','4','5']
到今天+1天的日期数组,今天+2等
我有:
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);
我正在看
[1.505998326018E12, 1.522500726018E12, 1.546869126018E12, 1.552654326018E12, 1.564750326018E12], ]
我做错了什么?
答案 0 :(得分:1)
时间间隔为字符串,您需要获取今天的日期,并在使用+interval
将其转换为数字后添加时间间隔,因此它将为now.getDate() + +intervals[i]
,然后调用new Date()
在结果上,当然将循环从i in intervals
更改为数字范围:
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);
答案 1 :(得分:1)
var dateRange = [];
['1','2','3','4','5'].forEach(function(dayIncrement) {
var date = new Date();
date.setDate(date.getDate() + parseInt(dayIncrement));
dateRange.push(date);
});
console.log(dateRange);
&#13;
答案 2 :(得分:1)
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')
}