【问题标题】:Wrong Time Zone in logs of Google Apps ScriptsGoogle Apps 脚本日志中的时区错误
【发布时间】:2018-02-20 17:13:50
【问题描述】:

脚本中从 Date() 获取的时区是正确的,CEST(中欧夏令时)。但是脚本编辑器中View -> Logs菜单报告的时区是PDT(太平洋夏令时间)

无论独立脚本和电子表格脚本都会发生这种情况。

这是一个 ad-hoc 示例代码:

  Logger.log(Session.getActiveUserLocale());
  Logger.log(Session.getScriptTimeZone());
  var d = new Date();
  Logger.log(d.toLocaleString());

[17-09-12 01:50:46:566 PDT] es

[17-09-12 01:50:46:567 PDT] Europe/Paris

[17-09-12 01:50:46:568 PDT] 12 de septiembre de 2017 10:50:46 CEST

系统的时区是 CEST。谷歌账户的谷歌日历和GMail中的时区也是CEST。

有什么解释吗?

附言

与这些问题相关但不相同的问题:

【问题讨论】:

  • 嗯。有趣的。以前没有注意到这一点。我刚刚尝试使用不同的用户帐户和不同的脚本 tz 运行一个脚本,看起来这只是一件事:日志记录日期始终是 PDT(也许因为那是 Google 的服务器所在的位置???)。

标签: logging google-apps-script timezone google-apps


【解决方案1】:

转到“文件 > 项目属性 > 信息选项卡”并设置时区。

如果您看不到带有“文件”等的菜单栏,则说明您正在使用新的编辑器。 您需要点击“使用旧版编辑器”,这将允许您访问设置,然后您可以返回到新编辑器。

【讨论】:

    【解决方案2】:

    日志和执行记录似乎使用 US/PDT,这与 Google 的本地时区一致。但是,如果您导出日志,则会在脚本时区中呈现时间。这是一个通过电子邮件向我发送执行日志的脚本示例。

    来自脚本编辑器View>Logs的日志

    [17-09-12 18:28:40:915 PDT] Export file created: '[redacted].csv' (id: [redacted])
    [17-09-12 18:28:43:274 PDT] Archive file created: '[redacted] - 20170913112841+1000 - export.csv' (id: [redacted])
    ...etc, etc.
    

    来自电子邮件记录的日志的同一部分:

    Wed Sep 13 11:28:40 AEST 2017 INFO: Export file created: '[redacted].csv' (id: [redacted])
    Wed Sep 13 11:28:43 AEST 2017 INFO: Archive file created: '[redacted] - 20170913112841+1000 - export.csv' (id: [redacted])
    ...etc, etc.
    

    令人讨厌的是,虽然导出的日志是正确的 tz,但它们采用的是非 ISO 格式,Google 喜欢强加给我们。

    【讨论】:

    • 如何导出日志?
    • 只需使用 Logger.getLog() 获取日志数据并通过电子邮件发送或写入文件。
    • 感谢您的提示!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多