You need to enable JavaScript to run this app. 如何将Google Forms存入Google Sheets的日期值转为“April 22, 2021”格式
优惠活动
大模型
产品
解决方案
定价
更多

如何将Google Forms存入Google Sheets的日期值转为“April 22, 2021”格式

Google Forms提交的日期值格式调整方案

零代码端:直接在Google Sheets配置显示格式(推荐优先使用)

  • 选中表单自动同步的提交时间列所有单元格
  • 右键打开「单元格格式」设置页,选择自定义日期格式
  • 在自定义格式输入框填入 mmmm dd, yyyy,确认后单元格就会直接显示为"April 22, 2021"的效果,完全不需要改动后续的表单同步逻辑
  • 关键注意点:如果后续要通过脚本读取这个单元格的日期值,一定要调用getDisplayValue()方法取渲染后的格式化文本,不要用getValue()——后者会直接返回底层存储的原生Date对象,打印出来就是你提到的带时区的长字符串,完全不受单元格格式设置的影响。

脚本端:通过Google Apps Script自定义转换

如果你的需求是把处理后的日期值传到其他系统、或者需要自定义逻辑输出格式化结果,可以直接在代码里对原始Date对象做本地化格式化:

// 读取到的原始Date对象,对应输出的长文本为"Thu Apr 22 03:00:00 GMT-04:00 2021"
const rawDateValue = spreadsheet.getRange("A2").getValue();

// 配置格式化规则,匹配目标输出样式
const finalFormattedDate = rawDateValue.toLocaleDateString('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  timeZone: spreadsheet.getSpreadsheetTimeZone() // 自动对齐表格的时区,避免日期偏移
});
// 最终finalFormattedDate的输出值即为"April 22, 2021"
  • 踩坑提醒:一定要对齐表格的时区配置,如果手动写死时区参数,很容易因为夏令时、跨时区的问题出现日期偏移一天的情况,直接读取表格自身的时区配置可以完全规避这个问题。

外部端:在读取侧直接解析原始字符串

如果你已经把原始的日期长文本同步到了外部系统(比如后端服务、前端页面),不需要改动Sheets和脚本的配置,可以直接在解析侧把字符串转为Date对象后做格式化处理,以JS环境为例:

const rawDateString = "Thu Apr 22 03:00:00 GMT-04:00 2021";
const dateInstance = new Date(rawDateString);
const formattedResult = dateInstance.toLocaleDateString('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric'
});
// 输出结果即为"April 22, 2021"

避坑提示:不要用字符串截断、正则替换的硬编码方式去修改日期文本,不同浏览器、不同服务器环境对Date对象的字符串输出规则有细微差异,硬写解析逻辑很容易出现兼容问题,优先用系统原生的日期本地化API处理。


内容的提问来源于stack exchange,提问作者Mathew Gellner-Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 18:45:04