如何在Google Apps Script中为复制的工作表设置延后4天的日期命名?
解决日期加4天的工作表命名问题
问题描述
现有代码可复制模板工作表并命名为「Week of [今日日期]」,需要将命名中的日期值增加4天,例如今日是2月23日时,命名改为「Week of 2月27日」。原代码如下:
function createNewTemplate() { var today = new Date() var sheetName = "Week of "+Utilities.formatDate(today,"GMT +0",'MMM d') var ss = SpreadsheetApp.getActiveSpreadsheet() ss.getSheetByName("template").copyTo(ss).setName(sheetName) }
修改方案
只需在获取当前日期后,通过Date对象的setDate方法给日期增加4天,该方法会自动处理跨月、跨年的日期进位逻辑。修改后的代码如下:
function createNewTemplate() { var today = new Date() // 给当前日期增加4天 today.setDate(today.getDate() + 4) var sheetName = "Week of "+Utilities.formatDate(today,"GMT +0",'MMM d') var ss = SpreadsheetApp.getActiveSpreadsheet() ss.getSheetByName("template").copyTo(ss).setName(sheetName) }
关键说明
today.getDate():获取当前日期的日数值(如23)today.setDate(today.getDate() + 4):将日期对象的日份设置为当前日份+4,若遇到月底(如1月31日加4天),会自动跳转至2月4日,无需手动处理月份切换
内容的提问来源于stack exchange,提问作者ESwan
相关产品推荐
相关产品推荐

