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

Google App Script中Unix时间戳转换报错,求问题排查与解决

解决Utilities.formatDate()的报错问题

你遇到的错误原因很清晰:Utilities.formatDate()的第一个参数必须是Date类型的对象,但你传入的是字符串格式的Unix时间戳,这就导致方法找不到匹配的调用形式,直接触发了报错。

另外还要注意一个关键细节:你用的Unix时间戳(1572401067)是以秒为单位的,但JavaScript的Date构造函数需要的是毫秒数,所以必须先做单位转换。

修正后的代码如下:

function blah () {
  var tim = "1572401067";
  // 将字符串时间戳转为数字,乘以1000得到毫秒数,再创建Date对象
  var dateObj = new Date(parseInt(tim) * 1000);
  // 传入Date对象到formatDate方法中
  var formattedDate = Utilities.formatDate(dateObj, "GMT+5:30", "MM-dd-yyyy HH:mm:ss");
  Logger.log(formattedDate);
}

额外小提示

  • 如果你后续拿到的时间戳本身是数字类型(不是字符串),可以去掉parseInt(),直接写成new Date(tim * 1000)
  • 时区参数也可以使用标准的时区标识符(比如"Asia/Kolkata"),比"GMT+5:30"更准确,能避免夏令时等特殊场景的影响

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:22:14