【问题标题】:How to convert UNIX timestamp to date using chart.js?如何使用 chart.js 将 UNIX 时间戳转换为日期?
【发布时间】:2021-03-07 14:51:01
【问题描述】:

我正在使用 chart.js 显示过去 30 天的“价格”数据。我正在使用价格 API 来做到这一点。但是 .time 参数将时间作为 UNIX 时间戳返回。我希望将时间显示为可读日期。

获取时间和价格:

const data = json.Data.Data
const times = data.map(obj => obj.time)
const prices = data.map(obj => obj.high)
return {
    times,
    prices
}

我的 chart.js 标签:

labels: times,

有没有办法将此数据作为完整日期而不是时间戳返回?

【问题讨论】:

  • 是的,这是可能的,您可以查看文档以了解如何操作:chartjs.org/docs/latest/axes/cartesian/time.html
  • 当我尝试更改时间显示格式时出现此错误:chart.js@2.8.0:7 Uncaught TypeError: Cannot read property 'skip' of undefined

标签: javascript json chart.js unix-timestamp


【解决方案1】:

所以我找到了一个解决方案,那就是使用 moment.js。 参考链接:https://www.chartjs.org/docs/latest/axes/cartesian/time.html

解决方案:

(`MY API LINK=${moment(new Date()).subtract(1, 'month').format('YYYY-MM-DD')}&end=${moment(new Date()).format('YYYY-MM-DD')}`)

【讨论】:

  • 这是一种非常无效的值转换方法,而且数学看起来非常奇怪 - 考虑new Date(unixtimestamp*1000);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2020-12-23
  • 2016-04-24
  • 2012-07-04
  • 1970-01-01
相关资源
最近更新 更多