在数据表中转换JSON日期

时间:2019-02-19 15:30:50

标签: javascript jquery json date datatable

我有一个数据表,其中填充了以下日期:"/Date(1523260800000)/",并且希望它们显示为:January 1, 2000

我有一个片段可以在我的代码的不同区域中工作,但是当我尝试将其集成到DataTables中时却无法工作。关于返回JSON节点+函数的事情,整个过程变得轻而易举。

JS代码段:

import $ from 'jquery';
import admissData from '../JSON/admiss.json';
import DataTable from 'datatables.net';

function loadAdmiss() {
    let admissText = admissData.d.results.map(function(val) {
        return {
            "Info": val.info,
            "Date of Admission": val.dateofadmission, function() { // ----- this code block works elsewhere
                let jsonDate = val.dateofadmission;
                let value = new Date(parseInt(jsonDate.replace(/(^.*\()|([+-].*$)/g, ''))
                );
                let dat = value.getMonth() + 1 + "/" + value.getDate() + "/" + value.getFullYear();
                return dat;
            },
            "Expires": val.expires
        }
    })

渲染数据表:

    $('#admissions-table').DataTable({
            columns: [
                { data: "Info" },
                { data: "Date of Admission" },
                { data: "Expires" }
            ],
            data: admissText,
            ...

JSON代码段:

{
    "d": {
      "results": [
        {
         ...
          "dateofadmission": "/Date(1523260800000)/",
           ...
           ...

1 个答案:

答案 0 :(得分:0)

以便于2000年1月1日转换此“ / Date(1523260800000)/”

1)var f=str.split("(")[1]; // split ( an get the second value the number

2)var s=f.split(")")[0] //拆分另一个

3)var d= new date(ParseInt(s)) //现在您有约会,请记住解析