添加天数谷歌脚本



我想知道是否有人能帮忙。我有一个脚本,从电子表格列表中提取数据,这是本周的匹配项(基本上是一个事件列表,用于生成每周议程(。我将使用for循环来增加要添加的天数,但我现在只是想让它工作一天。。。

第一列是格式为dd/mm/yyy 的数据

我试图将今天的增量乘以1,然后在列表中搜索匹配项。搜索等,我可以做工作,但约会部分就是没有播放。我想知道是否有人能提供建议。

例如,日期栏A:2021年7月6日2021年7月6日2021年11月1日2021年11月1日2021年11月1日2021年11月1日2021年9月2日2021年9月2日

var selectedDate = row[0];

selectedDate = Utilities.formatDate(new Date(selectedDate), "GMT+1", "dd/MM/yyyy");
var currdate = new Date();
currdate = Utilities.formatDate(new Date(selectedDate), "GMT+1", "dd/MM/yyyy");
var daystochange = 1;
var newdate = new Date(currdate.getFullYear, currdate.getMonth, currdate.getDay+daystochange );

有人能帮忙吗?

感谢

仅使用Utilities.formatDate()输出日期,而不使用日期

JavaScript日期对象具有处理日期和进行比较所需的全部功能。当您使用Utilities函数时,它会将其转换为字符串,因此您将失去Date对象的所有功能。

还要记住,如果您的工作表中有格式化为日期的日期,它们将自动作为Date对象返回。

例如,如果工作表的单元格A1中有日期

var date = Sheet.getRange("A1").getValue()
date instanceof Date // true

一旦你有了约会对象,如果你想再增加一天,你可以采取类似于你已经做过的方法:

var selectedDate = new Date(2021, 1, 15)
var newdate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate() + 1);
console.log(newdate) // Tue Feb 02 2021 00:00:00

注意-使用getDate返回月份的日期,getDay仅返回星期几。

要检查两个日期是否相同,可以编写一个函数进行比较:

function isSameDate(a, b) {
return  a instanceof Date &&
b instanceof Date &&
a.getYear() === b.getYear() &&
a.getMonth() === b.getMonth() &&
a.getDate() === b.getDate() 
}

如果日期相同,此函数将返回true

参考

  • Date

相关内容

  • 没有找到相关文章

最新更新