我试图在昨天的日期重新命名新创建的工作表,在某些情况下尝试使用14天前的日期重命名。这是我到目前为止所得到的。
我在Stackoverflow上找到了这个片段,并根据我的目的对其进行了一些修改。但是,这会生成以今天的日期命名的工作表。
// previous lines have been left out
// set sheet name to yesterday's date
var eet = ss.getSpreadsheetTimeZone();
var sheets = ss.getSheets();
var date = Utilities.formatDate(new Date(), eet, 'yyyy-MM-dd');
//this returns today's date (need yesterday's date, or date from 14 days ago)
sheets[1].setName(date); // Rename second sheet
我希望你们能帮忙
答案 0 :(得分:0)
在昨天的日期试试这个。它从当前日期减去1
var testDate = new Date();
var secondDate = new Date();
secondDate.setDate(testDate.getDate()-1);
var dateString = Utilities.formatDate(secondDate, eet, 'yyyy-MM-dd');
请注意,我没有检查日期字符串的设置。我确实重命名了变量以避免保留"日期"但可能没有必要。
答案 1 :(得分:0)
以下是执行前的工作表名称。
以下是执行后的工作表名称。
以下是代码:
function changeSheetNamesWithDates() {
var ss = SpreadsheetApp.openById("ENTER_SPREADSHEET_NAME");
var sheets = ss.getSheets();
var count = 0;
for (var row in sheets) {
var startDate = new Date();
startDate.setDate(startDate.getDate() - count);
var dateString = Utilities.formatDate(startDate, "GMT", "yyyy-MM-dd");
sheets[row].setName("Sheet " + dateString);
count++;
}
}
如果你只想要它纯粹的日期,那么删除单词" Sheet"来自.setName
:
sheets[row].setName(dateString);