【问题标题】:Converting JSON dates in a DataTable在 DataTable 中转换 JSON 日期
【发布时间】:2019-02-19 15:30:50
【问题描述】:

我有一个由日期填充的 DataTable,如下所示:"/Date(1523260800000)/",我希望它们显示为:January 1, 2000

我有一个 sn-p,确实在我的代码的不同区域工作,但是当我尝试将它集成到 DataTables 中时它不起作用。关于返回 JSON 节点 + 函数的一些事情,整个事情都变得很糟糕。

JS sn-p:

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 sn-p:

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

【问题讨论】:

  • 我认为这不会回答您的问题,但您是否尝试过数据表renderers?因此,您无需在获取数据后使用 map 来更改数据,而是将其放入各个列的渲染函数中。
  • @PriyankPanchal 我以前使用过渲染器。我会看看,看看我能做些什么。谢谢!

标签: javascript jquery json date datatable


【解决方案1】:

为了在 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)) //现在你得到了你的日期,记得解析

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2014-05-23
    • 1970-01-01
    • 2012-01-31
    相关资源
    最近更新 更多