Javascript 将数字时间戳值转换为'MMM YYYY'格式

Javascript 将数字时间戳值转换为'MMM YYYY'格式,javascript,vue.js,Javascript,Vue.js,我想知道如何将时间戳中的数据转换为“MMM YYYY”格式,以便显示图表的x轴 这是我的LineChart.vue <script> import { Line } from 'vue-chartjs' export default { extends: Line, data () { return { datacollection: { labels: [

我想知道如何将时间戳中的数据转换为“MMM YYYY”格式,以便显示图表的x轴

这是我的LineChart.vue

    <script>
    import { Line } from 'vue-chartjs'
    
    export default {
      extends: Line,
      data () {
        return {
          datacollection: {
            labels: [        <-- Timestamps
              1600934100.0,
              1602009600.0,
              1602747060.0,
              1603050158.390939,
              1603305573.992575
            ],
            datasets: [
              {
                label: 'Data One',
                backgroundColor: '#f87979',
                pointBackgroundColor: 'white',
                borderWidth: 1,
                pointBorderColor: '#249EBF',
                data: [
                  9.0,
                  9.5,
                  2.5,
                  11.52,
                  12.4
                ]
              }
            ]
          },
    
          options: {
            lineTension: 0,
            maintainAspectRatio: false,
            legend: {
              display: false
            },
            scales: {
              yAxes: [
                {
                  scaleLabel: {
                    display: false
                  },
                  ticks: {
                    beginAtZero: true,
                    // eslint-disable-next-line no-unused-vars
                    callback (value, index, values) {
                      return `${value }%`
                    }
                  }
                }
              ],
              xAxes: [
                {
                  gridLines: {
                    display: false
                  }
                }
              ]
            }
          }
        }
      },
      mounted () {
    
        this.renderChart(this.datacollection, this.options)
      }
    }
    </script>
请帮我解决这个问题,因为我无法独自面对它,我已经面对这个问题两周了


谦虚的请求,如果有人知道答案,请修改我自己的代码并将其发送回,因为我对Vuejs是新手,因此包装确切的组件或任何逻辑都会成为一个问题。

您可以将数值转换为
Date
,并将其转换为格式正确的()字符串:

const src=[1600941001602000960016027470601603050158.3909391603305573.992575],
日期=src.map(n=>
新日期(n*1e3)
Tolocalesting先生(
“恩,我们”,
{月:'短',年:'数字'}
))
console.log(日期)

。作为控制台包装{min height:100%;}
您有两种解决问题的方法。您可以将来自api的数组更改为所需的格式,或者在前端绘制api数组的映射并格式化每个日期

在我的示例中,我将使用:

这将创建一个新的数组,如下所示

 [ "Sep 2020", "Oct 2020", "Oct 2020", "Oct 2020", "Oct 2020" ]

从时间戳创建日期和将其格式化为任何格式都很简单,并且用大量现有答案解决了问题。你需要把你的问题分解成各个部分;Vue或ChartsJ在这里是不相关的。从API加载数据也是如此;即使ChartJS不支持API数据,您也可以简单地加载数据,然后将其传递给ChartJS。
const result = [
                 1600934100.0,
                 1602009600.0,
                 1602747060.0,
                 1603050158.390939,
                 1603305573.992575
             ].map(date => DateTime.fromMillis(date * 1000).toFormat("MMM yyyy"));
 [ "Sep 2020", "Oct 2020", "Oct 2020", "Oct 2020", "Oct 2020" ]