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

Community Connector中时间戳转YEAR_MONTH_DAY格式日期的问题

解决Community Connector时间戳转YEAR_MONTH_DAY维度的问题

问题场景

开发Community Connector时,已对接API获取时间戳格式的日期,需将其转换为YEAR_MONTH_DAY格式作为维度字段,尝试的代码未生效。

原尝试代码

fields.newDimension()
  .setId('created_at')
  .setName('Created At')
  .setDescription('Timestamp as a date.')
  .setFormula("TODATE($timestamp, '%Y-%m-%d %H:%M:%S%z', '%Y%m%d')")
  .setType(types.YEAR_MONTH_DAY)

问题分析与解决方案

核心错误点

原代码公式中引用的$timestamp与字段IDcreated_at不匹配,应改为$created_at。此外需根据API返回的时间戳类型选择对应转换逻辑:


情况1:API返回秒级数字时间戳(如1699996800)

使用UNIX_DATETIME将数字时间戳转为日期格式,再通过TODATE调整为YEAR_MONTH_DAY要求的格式:

fields.newDimension()
  .setId('created_at')
  .setName('Created At')
  .setDescription('Timestamp converted to date.')
  .setFormula("TODATE(UNIX_DATETIME($created_at), '%Y-%m-%d', '%Y%m%d')")
  .setType(types.YEAR_MONTH_DAY)

情况2:API返回毫秒级数字时间戳(如1699996800000)

需先将时间戳除以1000转为秒级,再进行转换:

fields.newDimension()
  .setId('created_at')
  .setName('Created At')
  .setDescription('Timestamp converted to date.')
  .setFormula("TODATE(UNIX_DATETIME($created_at / 1000), '%Y-%m-%d', '%Y%m%d')")
  .setType(types.YEAR_MONTH_DAY)

情况3:API返回带时区的字符串时间戳(如2023-11-14 12:00:00+0800)

确保格式符与返回字符串完全匹配,若时区格式为±HH:MM(如+08:00),需将%z改为%:z:

fields.newDimension()
  .setId('created_at')
  .setName('Created At')
  .setDescription('Timestamp converted to date.')
  .setFormula("TODATE($created_at, '%Y-%m-%d %H:%M:%S%z', '%Y%m%d')")
  .setType(types.YEAR_MONTH_DAY)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 04:35:29