使用 amchart 4 和 angular 导出的 12 小时时间格式(CSV、XLSX)
12 hour time format in export(CSV, XLSX) using amchart 4 and angular
我在 angular 中使用 amcharts 4 来显示图形,我想使用 amcharts 4 的内置导出功能以 CSV 和 XLSX 格式导出图形数据。
因此,我无法在导出的 CSV/XLSX 文件中使用 AM/PM 以 12 小时格式格式化日期列,以下是我正在尝试的代码:
chart.exporting.menu = new am4core.ExportMenu();
chart.exporting.menu.verticalAlign = 'bottom';
chart.exporting.menu.items = [{
label: '...',
menu: [
{ type: 'csv', label: 'CSV' },
{ type: 'xlsx', label: 'XLSX' }
]
}];
chart.exporting.dataFields = exportColumnNames;
// dateAxis.dateFormats.setKey("hour", "h a");
// dateAxis.periodChangeDateFormats.setKey("hour", "h a");
chart.exporting.dateFields.push('Date');
chart.exporting.dateFormat = 'MM-d-YYYY h:m:s a';
使用上述代码导出时,导出的文件以 24 小时格式显示日期。
我也使用适配器更改日期格式如下:
chart.exporting.adapter.add('data', (data) => {
data.data.map(signalObj => {
signalObj.Date = moment(new Date(signalObj.Date)).format('YYYY-MM-DD hh:mm A');
return signalObj;
});
console.log(data) // this shows date in 12 hour format with AM/PM
return data;
});
使用上面的代码我也得到了 24 小时格式的日期。
请告诉我应该如何解决上述问题。
实际上“日期”字段是字符串格式,所以我们需要给输入日期格式如下:
chart.dateFormatter.inputDateFormat = 'yyyy-MM-ddTHH:mm:ss';
它奏效了...
我在 angular 中使用 amcharts 4 来显示图形,我想使用 amcharts 4 的内置导出功能以 CSV 和 XLSX 格式导出图形数据。
因此,我无法在导出的 CSV/XLSX 文件中使用 AM/PM 以 12 小时格式格式化日期列,以下是我正在尝试的代码:
chart.exporting.menu = new am4core.ExportMenu();
chart.exporting.menu.verticalAlign = 'bottom';
chart.exporting.menu.items = [{
label: '...',
menu: [
{ type: 'csv', label: 'CSV' },
{ type: 'xlsx', label: 'XLSX' }
]
}];
chart.exporting.dataFields = exportColumnNames;
// dateAxis.dateFormats.setKey("hour", "h a");
// dateAxis.periodChangeDateFormats.setKey("hour", "h a");
chart.exporting.dateFields.push('Date');
chart.exporting.dateFormat = 'MM-d-YYYY h:m:s a';
使用上述代码导出时,导出的文件以 24 小时格式显示日期。
我也使用适配器更改日期格式如下:
chart.exporting.adapter.add('data', (data) => {
data.data.map(signalObj => {
signalObj.Date = moment(new Date(signalObj.Date)).format('YYYY-MM-DD hh:mm A');
return signalObj;
});
console.log(data) // this shows date in 12 hour format with AM/PM
return data;
});
使用上面的代码我也得到了 24 小时格式的日期。
请告诉我应该如何解决上述问题。
实际上“日期”字段是字符串格式,所以我们需要给输入日期格式如下:
chart.dateFormatter.inputDateFormat = 'yyyy-MM-ddTHH:mm:ss';
它奏效了...