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

JavaScript中如何将epoch时间戳格式化为DD/MM/YYYY格式

解决方案

核心原理

你拿到的epoch日期是秒级Unix时间戳,而JavaScript内置的Date构造函数只接受毫秒级时间戳,所以需要先将时间戳乘以1000再转换为日期对象,之后格式化输出为DD/MM/YYYY格式即可。

完整修改后代码

const yahooStockAPI  = require('yahoo-stock-api');

// 日期格式化工具函数:输入秒级epoch时间,返回DD/MM/YYYY格式字符串
function formatDate(epochSeconds) {
  const date = new Date(epochSeconds * 1000);
  // 自动补前导零
  const day = String(date.getDate()).padStart(2, '0');
  const month = String(date.getMonth() + 1).padStart(2, '0'); // getMonth返回值范围为0-11,需要+1对应实际月份
  const year = date.getFullYear();
  return `${day}/${month}/${year}`;
}

async function main()  {
  const startDate = new Date('07/01/2021');
  const endDate = new Date('07/25/2021');
  // 拿到原始返回数据
  const rawData = await yahooStockAPI.getHistoricalPrices(startDate, endDate, 'AMZN', '1d');
  // 遍历处理每一条行情的日期字段
  const formattedData = {
    ...rawData,
    results: rawData.results.map(item => ({
      ...item,
      date: formatDate(item.date) // 替换原始时间戳为格式化后的日期
    }))
  };
  console.log(formattedData);
}
main();

简化写法

如果不需要兼容特别旧的运行环境,可以直接用内置的本地化日期API实现,代码更简洁:

function formatDate(epochSeconds) {
  // 英国地区的默认日期格式就是DD/MM/YYYY,直接调用即可
  return new Date(epochSeconds * 1000).toLocaleDateString('en-GB');
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 03:51:03