如何在没有时间戳的谷歌表格中设置当前日期?
我使用下面的脚本:
dateCell.setValue(new Date(new Date().setHours(0,0,0,0)));
这是为单元格设置的:
2/23/2021 6:00:00
但是,当我按下"Ctrl +:"要在单元格中自动插入当前日期,需要插入以下内容:
2/23/2021
我可以使用什么脚本来只设置日期而不设置时间戳?
请注意,我在按"Ctrl +:"时记录了一个宏。生成了以下代码:
var date = new Date();
date.setHours(0, 0, 0, 0);
spreadsheet.getActiveRangeList().setValue(date)
解决方案:
你可以使用formatDate(date, timeZone, format)函数指定你想要的格式:
Utilities.formatDate(new Date(), timezone, "MM/dd/yyyy");
如果spreadsheet
已经在当前代码中定义,这应该可以工作:
const ss = SpreadsheetApp.getActive();
const timezone = ss.getSpreadsheetTimeZone();
const date = Utilities.formatDate(new Date(), timezone, "MM/dd/yyyy");
spreadsheet.getActiveRangeList().setValue(date)
最小可复制示例:
添加日期到单元格A1:
function myFunction() {
const ss = SpreadsheetApp.getActive();
const timezone = ss.getSpreadsheetTimeZone();
const sh = ss.getSheetByName('Sheet1'); // put the name of your sheet
const date = Utilities.formatDate(new Date(), timezone, "MM/dd/yyyy");
sh.getRange('A1').setValue(date);
}
如果运行循环,则按以下方式格式化:
var date = utilities.formatDate(new Date(row[3]),"GMT","dd/MMM/yyyy")
//row[3] is colounm number in data array where is your dates are
var date = utilities.formatDate(new Date(),"GMT","dd/MMM/yyyy")