Google 脚本"Utilities.formatDate"对时区参数不执行任何操作



这两行生成相同的输出:

Logger.log(Utilities.formatDate(new Date(), "ET", "yyyy-MM-dd'T'HH:mm:ss'Z'"));
Logger.log(Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"));

输出:

2:20:37 PM Info -> 2022-01-26T19:20:37Z
2:20:37 PM Info -> 2022-01-26T19:20:37Z

输入无关紧要,总是将日期转换为UTC(可能(,这使得无法打印正确的日期和时间。

在谷歌脚本中格式化日期时间的正确方法是什么?

"ET";不是可接受的时区名称。

为此,您可以使用"America/New_York"。

Apps Script的文档没有指出这一点,这可能会让非开发人员感到沮丧。这是所有时区ID 的列表

此外,通过将"放在Z周围,它将其视为一个字符串,并只返回带有Z的日期。我知道这就是应用程序脚本页上的示例,但这是错误的。

试试这个:

Logger.log(Utilities.formatDate(new Date(), "America/New_York", "yyyy-MM-dd'T'HH:mm:ss z"));
Logger.log(Utilities.formatDate(new Date(), "America/New_York", "yyyy-MM-dd'T'HH:mm:ss Z"));
Logger.log(Utilities.formatDate(new Date(), "America/Los_Angeles", "yyyy-MM-dd'T'HH:mm:ss z"));
Logger.log(Utilities.formatDate(new Date(), "America/Los_Angeles", "yyyy-MM-dd'T'HH:mm:ss Z"));
Logger.log(Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss Z"));

相关内容

  • 没有找到相关文章

最新更新