我想知道是否有人能帮忙。我有一个脚本,从电子表格列表中提取数据,这是本周的匹配项(基本上是一个事件列表,用于生成每周议程(。我将使用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