JSon反序列化DateTime

时间:2013-06-19 11:27:16

标签: c# .net json json.net

我有一个从Api返回的日期作为Json对象,如下所示:日期(1371510000000) 当我打开Internet Explorer并将以下内容粘贴到网址中时:javascript:alert(日期(1371510000000)) 我收到一份警告,上面写着2013年6月19日(这是正确的)。

然而,当我使用NewtonSoft的Json反序列化器在.NET中反序列化这个日期时,如下所示:

var x = Newtonsoft.Json.JsonConvert.DeserializeObject<DateTime>("\"/Date(1371510000000)/\"");

它将日期解析为2013年6月17日(这是不正确的)。

我做错了什么吗?

感谢。

1 个答案:

答案 0 :(得分:0)

javascript Date对象是.Net,

无法序列化的东西

您要做的是在转移对象之前修改日期:

function fixDate(date) {
    if (date != undefined && date != null && date.getDate) {
        var curr_date = date.getDate();
        var curr_month = date.getMonth() + 1; //Months are zero based
        var curr_year = date.getFullYear();
        date = curr_date + "/" + curr_month + "/" + curr_year;
        date = date.replace(/\b\d\b/g, '0$&');
    }
    return date;
}

此代码适用于“dd / MM / yyyy”格式,但您可以根据自己的喜好对其进行格式化。

请记住在服务器中选择特定格式