如何设置当前日期没有时间戳在谷歌表使用应用程序脚本?



如何在没有时间戳的谷歌表格中设置当前日期?

我使用下面的脚本:

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")

相关内容

最新更新