javascript - 在 JSON 中转换日期并将其显示在 DataTable 中
问题描述
我有一个本地 JSON 文件,它被渲染到 DataTable 中。表中的所有内容都很好,除了日期呈现如下:/Date(1350028800000)/
(2012 年 10 月 12 日)。
我查找了有关转换数据的线程,但根据信息如何呈现到 DataTable 中,我不确定我将如何进行。对这个有什么想法吗?
JS 片段:
import $ from 'jquery';
import admissData from '../JSON/atty-admiss.json';
import DataTable from 'datatables.net';
function loadAdmiss() {
let admissText = admissData.d.results.map(function(val) {
return {
"Status": val.admissionstatus,
// "Date of Admission": val.dateofadmission,
"Expires": val.expires,
"Classification": val.classification
}
})
let admissDate = admissData.d.results.map(function(val) {
let newDate = new Date(admissDate) { //// ?
return val.dateofadmission
}
})
$('#admissions-table').DataTable({
columns: [
{ data: "Status" },
{ data: "Date of Admission" }, // ------ DT's method of injecting relevant JSON data into each column
{ data: "Expires" },
{ data: "Classification" }
],
data: admissText, // ---------- how the JSON data enters DT
lengthChange: false,
paging: true,
pagingType: "full_numbers"
});
}
loadAdmiss();
解决方案
这有帮助吗?
var admissData = {
d: {
results: [
'/Date(1350028800000)/',
'/Date(1550185211515)/',
]
}
};
var parseMicorsoftFormat = function(weirdDateFormat) {
if(typeof weirdDateFormat === 'string') { //lets assume we have a string to work with
var extractedData = !!weirdDateFormat.match(/\d+/g) ? weirdDateFormat.match(/\d+/g)[0] : null;
if(extractedData) {
return new Date(parseInt(extractedData)).toLocaleString().match(/[^,]*/)[0];
}else {
return "No numbers found"
}
}else {
return "Wrong Format"
}
};
admissData.d.results = admissData.d.results.map(date => parseMicorsoftFormat(date));
推荐阅读
- android - 在 Android 中获取 Firebase 存储的权限错误?
- javascript - 用户登录时如何从前端获取身份验证令牌
- python - 为什么我的子列表包含所有元素?
- nginx - 由于 DNS 更改,代理传递超时的 NGINX 超时
- c# - 这个键不应该是唯一的吗?
- javascript - preventDefault() 方法在箭头函数中不起作用
- encryption - 使用 EC 类型实现新的“ISignatureFactory”
- javascript - FirebaseUI - 使用带有电子邮件登录方法的recaptcha
- gams-math - 如何设置游戏运行时间的限制
- docker - 屏幕泊坞窗桌面tty