将今天的日期插入电子表格的脚本是错误的

Script inserted today's date into spreadsheet is wrong

我正在为一个客户开发一个绑定到电子表格的脚本,该电子表格归他们所有。除其他外,脚本应将今天的日期插入到 Google Sheets 电子表格单元格中。问题是插入的日期是错误的,而且总是一样。

我制作了电子表格的副本以尝试调试我的代码/找出错误的设置,但我无法重现该问题,例如查看和使用电子表格和脚本项目时区设置。

这是插入今天日期的"minimum"代码

function customToday(){
  var now = new Date();
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheets()[0];
  var range = sheet.getRange('A1');
  range.setValue(now.getFullYear(),now.getMonth(),now.getDay())

}

用其他值替换 now.getDay() 不会改变结果。

我终于看到了原来的电子表格设置。区域设置为空,时区设置为太平洋时间,而不是电子表格所有者的默认时区。

在我看来,区域和时区设置不知何故被破坏了。将区域设置更改为客户端默认国家和时区解决了问题。