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

如何在AWS API Gateway映射模板(VTL)中生成当前ISO8601时间戳?

在AWS API Gateway映射模板生成ISO8601格式时间戳

现状说明

  • 在AWS API Gateway的映射模板中,可通过$context.requestTimeEpoch获取UNIX时间戳,但它无法直接生成类似2018-02-06T19:01:35.749Z的ISO8601格式时间。
  • AWS AppSync提供的$util.time.nowISO8601()工具可以直接生成ISO8601时间,但该工具在API Gateway中不可用。

解决方法

由于API Gateway的映射模板基于Velocity模板语言,你可以借助Velocity的日期工具类来转换时间格式:

#set($epochMillis = $context.requestTimeEpoch)
#set($date = new java.util.Date($epochMillis))
#set($dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"))
#set($timeZone = java.util.TimeZone.getTimeZone("UTC"))
$dateFormat.setTimeZone($timeZone)
$dateFormat.format($date)

这段代码会将$context.requestTimeEpoch对应的UNIX时间戳转换为UTC时区的ISO8601格式时间。

如果你的API Gateway集成了Lambda函数,也可以在Lambda代码中完成时间格式转换后再返回,这种方式更灵活,适合复杂的时间处理场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:33:28