我想记录App Script在电子表格中运行的时间。此时间将由电子表格中的其他公式使用,以计算从现在到应用程序脚本上次运行的时间。
电子表格中的公式使用NOW()函数,该函数返回自18/12/1899以来的十进制天数。此时期的时区取决于工作表的时区,请参阅18596933。
我需要使用App Script将当前时间插入电子表格单元格,使用与NOW()相同的格式。我一直在尝试使用Javascript Date来执行此操作,但这些日期基于App时区,可能与电子表格的时区不同。
如何创建NOW()的App Script版本,它返回与NOW()相同的值,而不管电子表格或脚本时区差异?
答案 0 :(得分:0)
我的解决方法不会像NOW()那样返回小数部分的天数。相反,它返回一个字符串,App Script似乎在包含NOW()的公式中正确处理。
function getSpreadsheetTime() {
var spreadsheetTimeZone = SpreadsheetApp.getActive().getSpreadsheetTimeZone();
var spreadsheetDateTime = Utilities.formatDate(new Date(), spreadsheetTimeZone, "dd/MM/yyyy' 'HH:mm:ss.S");
return spreadsheetDateTime;
}
这是基于以下答案:Google Apps Script formatDate using user's time zone instead of GMT