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

Google Apps Script中ISO8601时区格式化异常问题咨询

问题解答

这不是Bug,是Java 7中SimpleDateFormat对XXX模式的设计行为——Google Apps Script的运行时基于Java 7,所以会出现这个情况。

原因说明

根据Java 7的SimpleDateFormat规范:

  • 当格式化字符串包含毫秒部分(.SSS)时,XXX会输出带冒号的时区格式(如-07:00)
  • 当格式化字符串不含毫秒部分时,XXX会输出不带冒号的时区格式(如+0000)

这是该版本类库的既定行为,并非错误。

解决方案

如果你需要不带毫秒但时区带冒号的格式,可以改用ZZZZZ模式替代XXX:

const date = new Date();
const formatted = Utilities.formatDate(date, "UTC", "yyyy-MM-dd'T'HH:mm:ssZZZZZ");
// 输出示例:2022-06-05T22:00:00+00:00

ZZZZZ模式在Java 7的SimpleDateFormat中,无论是否包含毫秒部分,都会输出带冒号的时区格式,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:31:13