如何修改Google Apps Script使其输出MST时区而非脚本默认时区
代码修改方法
你只需调整Utilities.formatDate方法的第二个时区参数即可,其余逻辑无需改动:
- 若需要自动适配北美山地时区的夏令时/冬令时切换(MST/MDT自动调整,为常规使用场景),使用IANA标准时区标识符
America/Denver - 若需要固定使用UTC-7的标准MST,不启用夏令时,使用固定偏移时区标识符
Etc/GMT+7
修改后的完整代码如下:
const sh = e.range.getSheet(); if(sh.getName() == 'Task Tracker' && e.range.columnStart == 6 && e.range.rowStart > 1 && e.value) { // 下方时区参数按需二选一:自动适配夏令时填'America/Denver',固定MST填'Etc/GMT+7' let dt = Utilities.formatDate(new Date(), 'America/Denver', "MMM.dd, YYYY hh:mm a >>"); e.range.offset(0,-1).setValue(e.range.offset(0,-1).getValue() + `\n${dt} ${e.value}`); e.range.setValue(''); }
原代码中Session.getScriptTimeZone()会读取脚本绑定的默认时区,替换为上述指定时区标识符后,生成的时间戳就会使用你需要的MST时区。
内容的提问来源于stack exchange,提问作者Nick Natal
相关产品推荐
相关产品推荐

