0

我有一个从 Api 返回的 Date 作为 Json 对象,如下所示: Date(1371510000000) 当我打开 Internet Explorer 并将以下内容粘贴到 url 中时:javascript:alert(Date(1371510000000)) 我收到一条警报,读取日期 2013 年 6 月 19 日(正确)。

但是,当我使用 NewtonSoft 的 Json 反序列化器在 .NET 中反序列化此日期时,如下所示:

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

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

有什么我做错了吗?

谢谢。

4

1 回答 1

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”格式,但您可以随意格式化。

记得在你的服务器中选择特定的格式

于 2013-06-19T11:46:17.313 回答