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

Apps Script中formatDate自定义日期格式及报错解决

问题1:修改时间戳格式为dd/mm/yyyy hh:mm:ss

要把原格式m/dd/yyyy hh:mm:ss改成dd/mm/yyyy hh:mm:ss,只需调整Utilities.formatDate的格式字符串即可,注意月份要用大写MM(小写mm代表分钟,别混淆):

// 获取当前时间
const currentTimestamp = new Date();
// 可以用脚本时区,也可以指定固定时区如"GMT"
const timeZone = Session.getScriptTimeZone();
// 格式化时间戳为目标格式
const formattedTimestamp = Utilities.formatDate(currentTimestamp, timeZone, "dd/MM/yyyy hh:mm:ss");
问题2:解决Utilities.formatDate报错问题

你遇到的报错是因为SpreadsheetApp.getActive()返回的是当前电子表格对象(不是Date类型),而Utilities.formatDate的第一个参数必须是Date对象,参数类型不匹配导致报错。

根据需求分两种解决方式:

  • 如果要获取当前系统时间:
const DATE = new Date();
const FormattedDATE = Utilities.formatDate(DATE, "GMT", "EEEEE, dd MMMM yyyy");
  • 如果要读取电子表格中某个单元格的日期值(以A1单元格为例):
const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 获取A1单元格的日期值(确保该单元格是日期格式)
const DATE = activeSheet.getRange("A1").getValue();
const FormattedDATE = Utilities.formatDate(DATE, "GMT", "EEEEE, dd MMMM yyyy");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:26:13