【发布时间】:2020-05-04 09:48:39
【问题描述】:
我正在尝试设置一个 Google App 脚本函数,该函数从价差的最后一列中获取日期(格式为 dd/mm/yy),并创建一个包含日期 + 一天的新列。
我已经看过以前的解决方案并尝试使用相同的解决方案,即newDate.setDate(lastDate.getDate()+1),但在脚本中正确格式化值时遇到了问题。这是我的代码的一个变体,我用它来循环遍历一年的值,看看我得到了什么:
for (var i=0;i<365;i++){
var lastRow = outputSheet.getLastRow();
var newDate = new Date();
var lastDate = outputSheet.getRange(lastRow,1).getValue();
var newDateRng = outputSheet.getRange(lastRow+1,1);
Logger.log(lastDate + 1, typeof lastDate, typeof (lastDate + 1));
newDate.setDate(lastDate.getDate());
Logger.log(newDate);
newDate.setDate((newDate.getDate() + 1));
Logger.log(newDate);
var newDateFormatted = Utilities.formatDate(newDate, ss.getSpreadsheetTimeZone(), "dd/MM/YY");
Logger.log(newDateFormatted);
newDateRng.setValue(newDateFormatted);
}
开始日期为“01/03/2020”,我得到以下行为:
2020 年 1 月 3 日
2020 年 2 月 5 日
03/05/2020
...
31/05/2020
01/06/2020
2020 年 2 月 5 日
03/05/2020
...
31/05/2020
01/06/2020
2020 年 2 月 5 日
...
等等。一路过年。虽然天数增加了,但该月似乎在该月的第一天之后重置。
作为说明,我特别希望从电子表格中选择日期,而不是将新日期用作今天,将新日期 +1 用作明天。
谢谢
【问题讨论】:
标签: javascript date google-apps-script