You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Script API填充表格时如何设置EET(GMT+2)时区

解决Google Script中设置EET(GMT+2)时区的问题

我明白你遇到的时区匹配问题——当用new Date()生成时间戳时,它默认遵循的是你的Google Script项目的时区设置,而不是你想要的EET(GMT+2)。这里有两种靠谱的解决方法,你可以根据需求选择:

方法1:修改脚本项目的默认时区(一劳永逸)

这是最简单的方式,直接让整个脚本的时间都基于EET运行:

  • 打开你的Google Script项目
  • 点击右上角的齿轮图标进入「设置」页面
  • 在「常规设置」里找到「时区」选项,选择对应EET的时区(比如Europe/Athens、Europe/Istanbul或者Africa/Cairo,这些都是GMT+2的标准时区标识符)
  • 保存设置后,再用var row = [new Date()];生成的时间戳就会自动是EET时间了

方法2:在代码中手动转换为EET(无需改项目设置)

如果你不想调整整个项目的时区,可以用Google Script内置的Utilities.formatDate()方法直接生成指定时区的时间字符串(电子表格会自动识别为日期格式):

// 生成EET时区的时间字符串,格式可以根据你的需求调整
var eetDate = Utilities.formatDate(new Date(), "GMT+2", "yyyy-MM-dd HH:mm:ss");
var row = [eetDate];

如果需要保留日期对象而非字符串,你也可以通过计算时区偏移量来调整(注意:这种方法需要手动处理夏令时的偏移变化):

var now = new Date();
// GMT+2相对于UTC的偏移是120分钟,夏令时期间会变为180分钟
var eetOffset = 120;
var eetDate = new Date(now.getTime() + eetOffset * 60 * 1000 - now.getTimezoneOffset() * 60 * 1000);
var row = [eetDate];

相对来说,Utilities.formatDate()的方式更省心,不需要考虑夏令时的变动。

额外注意:同步电子表格时区

最后别忘了检查你的目标电子表格的时区设置,避免脚本生成了正确的EET时间,但表格显示时又转成了其他时区:

  • 打开电子表格 → 点击「文件」→「设置」→「区域和时区」→ 选择对应的EET时区

内容的提问来源于stack exchange,提问作者user7426702

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:35:36