【发布时间】:2018-09-25 06:59:24
【问题描述】:
我正在尝试创建一个带有日期的 for 循环,但它没有按计划进行。 我要做的是在单元格 A1 中输入 startdate,在单元格 B1 中输入 enddate。 然后运行一个 for 循环:如果 startdate 小于 enddate,则将日期放入单元格 A2 并继续下一列。我唯一坚持的是如何在日期中添加一天。
见下面的代码:
function test()
{
var app = SpreadsheetApp;
var ss = app.getActive();
var sheet = ss.getActiveSheet();
var start = sheet.getRange("A1").getValue();
var end = sheet.getRange("B1").getValue();
var day = 3600*24*1000;
var diff = Math.floor((end-start)/day);
var column = 1;
for(var i=0;i<=diff;i++)
{
sheet.getRange(2, column).setValue(start+i*day);
column++;
}
}
有人可以向我解释为什么它不起作用。 非常感谢
【问题讨论】:
-
请参阅How can I add 1 day to current date? 请注意,并非所有实行夏令时的日子都是 24 小时,它们会因 DST 偏移量而变短或变长(通常为 1 小时,但可能为 30 分钟)。
-
谢谢,我知道如何添加一天,但如何设置新日期,因为如果我在 for 循环中尝试此操作,那么您只设置日期而不是月份和年份。
标签: javascript date for-loop google-sheets