代码之家  ›  专栏  ›  技术社区  ›  LiamGu

JSON日期作为今天的日期?

  •  0
  • LiamGu  · 技术社区  · 15 年前

    我正在尝试将JSON日期转换为dd/m m/yyyy格式,这是我成功做到的一半。

    我遇到的问题是,数据库中记录的日期是,例如,2009-06-29,它返回了通常的JSON /Date(1246230000000)/ 但是,当我尝试将其转换为先前提到的dd/mm/yyyy格式时,它将作为今天的日期通过。

    我尝试使用的代码是:

    $('input#EmployeeName').result(function(event, data, formatted) {
        $('#StartDate').html(formatJSONDate(Date(!data ? '' : data.StartDate)));
    });
    
    function formatJSONDate(jsonDate) {
        var newDate = dateFormat(jsonDate, "dd/mm/yyyy");
        return newDate;
    }
    

    我在用 JavaScript Date Format 尝试运行函数。

    非常感谢您的帮助。

    1 回复  |  直到 15 年前
        1
  •  2
  •   T.J. Crowder    15 年前

    假设您的JSON看起来像这样:

    {
        "StartDate": "/Date(1224043200000)/"
    }
    

    您可以将其转换为实际的javascript日期,如下所示:

    var dt, millis;
    
    millis = data.StartDate.match(/\/Date\((\d+)\)\//);
    if (millis) {
        dt = new Date(Number(millis[1]));
    }
    

    它从字符串中提取epoch值以来的毫秒数,并使用该值创建日期实例。