我有以下代码:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); // current spreadsheet
var old_sheet = ss.getActiveSheet(); // current (old) sheet
var new_sheet = old_sheet.copyTo(ss); // make a copy
SpreadsheetApp.flush()
new_sheet.setName(Utilities.formatDate(new Date(), 'GMT-7:00', 'w')); // set the name
new_sheet.getRange('A3').setValue(new Date(), 'GMT-7:00', 'w'); // set the cell A3
new_sheet.getRange('B14:H18').clear({contentsOnly: true}); // clears content in B14:H18
old_sheet.hideSheet(); // hide the old sheet
}我遇到麻烦的部分如下:
new_sheet.getRange('A3').setValue(new Date(), 'GMT-7:00', 'w'); // set the cell A3我的目标是将周日日期返回到单元格A2中,或者将当前周数字(从周日开始)返回到单元格A3中。
例如:10/31/2021年将被放入A2或45 (周数)将被放入A3,从那里我可以使用谷歌工作表中的常规公式在两个方向上工作。
我尝试使用'w‘设置error(new date() -->,但遇到错误:
“异常:参数((类)、字符串、字符串)与SpreadsheetApp.Range.setValue的方法签名不匹配。”
这意味着范围是二维的,我试着使用.push(),但老实说,我不确定该怎么做。
我知道如果我设置starts (new date())会给出当前的日期,但是我不确定如何获得从一周的开始(星期日)开始的日期。
谢谢,如果我拼写错误或没有正确解释,请让我知道。我的母语不是英语。
发布于 2021-11-02 01:06:16
周日日期,以单元格A2表示
var d = new Date()
d.setDate (d.getDate() - d.getDay())
new_sheet.getRange('A2').setValue(d);发布于 2021-11-02 00:46:55
下面是获取上周日日期的方法:
function get_last_sunday() {
var today = new Date();
var day = today.getDay(); // 0 - Sunday, 1 - Monday, 2 - Tuesday, etc...
var sunday = new Date(today.getTime() - 24*60*60*1000*day);
return sunday;
}
console.log(get_last_sunday())
也许你可以这样使用这个公式:
new_sheet.getRange('A2').setValue(get_last_sunday());要获取周数,可以使用以下函数:
function get_week() {
return Utilities.formatDate(new Date(), 'GMT-7:00', 'w');
}和分别为:
new_sheet.getRange('A3').setValue(get_week());至于其他的,我不明白你的目标。尤其是“OR”条件。
https://stackoverflow.com/questions/69803939
复制相似问题