在javascript中从纪元日期转换[重复]

Posted

技术标签:

【中文标题】在javascript中从纪元日期转换[重复]【英文标题】:Converting from epoch date in javascript [duplicate] 【发布时间】:2021-10-12 02:51:42 【问题描述】:

我正在使用 javascript 中的 API 来检索股票的一些信息,例如开盘价、最高价、最低价和收盘价以及日期。但是,这个日期是纪元格式(例如日期:1627047000)。我怎样才能在这段代码中格式化它,以便我可以有像 DD/MM/YYYY 这样的东西?

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

async function main()  
    const startDate = new Date('07/01/2021');
    const endDate = new Date('07/25/2021');
    console.log(await yahooStockAPI.getHistoricalPrices(startDate, endDate, 'AMZN', '1d'));

main();

提前谢谢你!

【问题讨论】:

强烈建议不要像new Date('07/01/2021') 那样使用内置解析器解析时间戳,请参阅Why does Date.parse give incorrect results?。最好将零件直接提供给构造函数:new Date(2021, 6, 1) for 2021-07-01。 【参考方案1】:

只需将 epoch 值乘以 1000 即可转换为毫秒(这是 javascript 日期所基于的)并传递给新的 Date 对象,然后您可以使用 Intl.DateTimeFormat 返回您想要的格式

const obj = date: 1627047000;

const date = new Date(obj.date * 1000); 

console.log(new Intl.DateTimeFormat('en-GB').format(date));

【讨论】:

以上是关于在javascript中从纪元日期转换[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中从字符串创建日期对象[重复]

如何在python中将日期转换为纪元时间[重复]

Javascript将日期时间字符串转换为纪元

在不转换为 Javascript 中的纪元的情况下增加日期对象

在php中将纪元时间斜坡转换为格式化的日期字符串[重复]

如何在PHP中将日期YYYY-MM-DD转换为纪元[重复]