如何为 react-csv 列提供日期格式

How to give date format to react-csv column

我正在尝试将数据导出为 csv 文件。我正在使用 react-csv 库,因为它一切正常,但我面对的是最新格式。我试过了,但没有找到任何合适的解决方案。有人可以帮帮我吗?

代码

 headers = [
    {
      label: "id",
      key: "id"
    },
    {
      label: "Type",
      key: "ptype"
    },
    {
      label: "Sub Type",
      key: "subtype"
    },
    {
      label: "Date",
      key: moment("createdAt").format("YYYY-MM-DD")
    },
}

它不起作用 当我只用 createdAt 写密钥时它给我空列 它给我这种格式的日期 2019-09-13T06:34:33.000Z 我想要可读格式的日期

在使用 json2csv 或其他任何东西之前转换您的数据:

const data = [
  { id: 1, ptype: "a", subtype: "x", createdAt: "2019-09-13T06:34:33.000Z"},
  { id: 2, ptype: "b", subtype: "y", createdAt: "2019-09-13T06:34:33.000Z"},
  { id: 3, ptype: "c", subtype: "z", createdAt: "2019-09-13T06:34:33.000Z" }
].map(item => {
  return {
    ...item, 
    ...{createdAt: moment(item.createdAt).format('YYYY-MM-DD')}
  };
});
console.log(data)
// .... here your code
<script src="https://momentjs.com/downloads/moment.js"></script>

您无法格式化 header 数组中的单元格。 header 数组只是表示 csv 文件中的列名。

您需要在提供给 CSVLink 之前实际格式化您的数据。

data = data.map(row => ({...row, createdAt: moment(row.createdAt).format("YYYY-MM-DD")}))

Demo