在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中从纪元日期转换[重复]的主要内容,如果未能解决你的问题,请参考以下文章