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

设置相同的两个Google Apps Script项目区域设置不一致

解决Google Apps Script中toLocaleDateString()格式不一致的问题

这个问题的核心原因是:默认情况下,date.toLocaleDateString()会自动使用脚本运行环境的区域设置生成日期格式。绑定到标准表格和表单响应表格的两个脚本,可能因为运行上下文的区域配置不同(比如表单的区域设置和表格默认区域不一致,或者脚本执行时继承了不同用户的默认区域),导致输出的日期格式出现差异。

要彻底解决这个问题,你只需要显式指定区域代码和格式选项,强制让两个脚本生成完全一致的文件夹名称格式。

具体实现代码

比如你想要统一生成26 April 2018这种格式,可以用下面的代码替换原来的toLocaleDateString()调用:

const targetDate = new Date();
// 显式指定区域为英式英语,并定义日期格式规则
const folderName = targetDate.toLocaleDateString('en-GB', {
  day: 'numeric',
  month: 'long', // 输出完整月份名称(比如April而不是Apr)
  year: 'numeric'
});

为什么这样有效?

  • 当你不指定区域参数时,toLocaleDateString()会优先使用脚本关联的Google服务(表格/表单)的区域设置,或者当前执行用户的默认区域,这就导致了两个项目的差异。
  • 显式指定区域代码(比如en-GB代表英式英语,en-US代表美式英语)和格式选项后,不管脚本运行在什么环境下,都会生成固定格式的日期字符串。

可选调整

如果之后需要修改格式,只需要调整options对象里的参数:

  • month: 'short'会输出缩写月份(比如Apr)
  • day: '2-digit'会强制日期显示两位数字(比如05而不是5)
  • 切换区域代码(比如fr-FR)可以生成其他语言的日期格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:24:29