将今天的日期插入电子表格的脚本是错误的
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()
不会改变结果。
我终于看到了原来的电子表格设置。区域设置为空,时区设置为太平洋时间,而不是电子表格所有者的默认时区。
在我看来,区域和时区设置不知何故被破坏了。将区域设置更改为客户端默认国家和时区解决了问题。
我正在为一个客户开发一个绑定到电子表格的脚本,该电子表格归他们所有。除其他外,脚本应将今天的日期插入到 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()
不会改变结果。
我终于看到了原来的电子表格设置。区域设置为空,时区设置为太平洋时间,而不是电子表格所有者的默认时区。
在我看来,区域和时区设置不知何故被破坏了。将区域设置更改为客户端默认国家和时区解决了问题。