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

如何在Apps Script中将API返回的秒级Epoch时间转可读格式后写入谷歌表格

最优方案:用数组map转换Kucoin秒级时间戳

Kucoin开放API返回的蜡烛图数据中,第一个字段是秒级Epoch时间戳,在Google Apps Script中可以通过数组的map()方法高效转换为人类可读时间,比手动for循环更简洁易维护。

完整实现代码

function fetchKucoinBTCUSDT() {
  // 目标工作表
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("BTC-USDT");
  // Kucoin蜡烛图API地址(这里以1分钟K线、100条数据为例)
  const apiEndpoint = "https://api.kucoin.com/api/v1/market/candles?type=1min&symbol=BTC-USDT&limit=100";

  // 发起API请求并解析数据
  const apiResponse = UrlFetchApp.fetch(apiEndpoint);
  const parsedData = JSON.parse(apiResponse.getContentText());

  // 校验API返回状态
  if (parsedData.code !== "200000") {
    throw new Error(`API调用失败: ${parsedData.msg}`);
  }

  // 核心:转换时间戳并格式化数据
  const formattedCandles = parsedData.data.map(candle => {
    // 秒级转毫秒级,生成Date对象(表格会自动识别为时间格式)
    const readableTime = new Date(candle[0] * 1000);
    // 替换原时间戳为可读时间,保留其余K线数据
    return [readableTime, ...candle.slice(1)];
  });

  // 写入工作表(清空旧数据后写入)
  targetSheet.clearContents();
  targetSheet.getRange(1, 1, formattedCandles.length, formattedCandles[0].length)
             .setValues(formattedCandles);
}

关键细节说明

  1. 为什么用map而非for循环?

    • 代码更简洁:无需手动管理循环索引和临时数组,一行遍历+转换完成。
    • 可读性更高:语义化的map()明确表达"转换数组每个元素"的意图。
    • 性能无差异:对于Kucoin API返回的常规数据量(≤1000条),map和for循环的执行效率几乎一致,无需担心性能问题。
  2. 自定义时间格式(可选)
    如果需要固定格式的字符串时间(如yyyy-MM-dd HH:mm:ss),可以用Utilities.formatDate()替换Date对象:

    const formattedCandles = parsedData.data.map(candle => {
      const timestampMs = candle[0] * 1000;
      // 指定时区(这里用脚本时区,也可改为"UTC")
      const timeStr = Utilities.formatDate(
        new Date(timestampMs),
        Session.getScriptTimeZone(),
        "yyyy-MM-dd HH:mm:ss"
      );
      return [timeStr, ...candle.slice(1)];
    });
    
  3. 时区注意事项

    • 直接写入Date对象时,谷歌表格会自动使用当前表格的时区显示时间。
    • 若需统一UTC时间,可在创建Date时指定,或在formatDate中将时区参数设为"UTC"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:15:39