2011-06-16 120 views
1

我将某些属性作为JSON字符串传递给客户端。但是,日期不以正确的格式打印。它显示出一些数字,如1644506800。这是我做过什么日期格式打印不正确

 var query = (from n in CDC.NCDCPoints 
       where n.EVENT_TYPE_ID == et && n.BeginDate == b && n.EndDate == e 
       select new { 
        n.EVENT_TYPE_ID, 
       begindate1 = n.BeginDate, 
       n.EndDate, 
       n.BeginLAT, 
       n.BeginLONG, 
       n.EndLAT, 
       n.EndLONG}); 


    if (query.Any()) 
    { 
     return new JavaScriptSerializer().Serialize(query.ToList()); 
    } 

jQuery中,

 $.ajax({ 
      type: "POST", url: "Data.aspx/CheckInsertRecord", 
      data: "{EventType:'" + eventtype + "',BeginDate:'" + begindate + "'," + 
        "EndDate:'" + enddate+"' }", 
      contentType: "application/json; charset=utf-8", dataType: "json", 
      success: function (msg) { 
     alert(msg.d); 

      var data = $.parseJSON(msg.d); 
      alert("A record of this event already exists in the database.\n" +msg.d+"."); 


      } 
     }); 

所以u能告诉我如何得到正确格式的日期?

回答

0

,你将有你打印

+0

我需要做的是在客户端。那么,你是否知道我可以使用反序列化的任何默认函数 – 2011-06-16 16:13:07

+0

我们可以看到你的一些客户端代码? – harryovers 2011-06-16 16:14:58

+0

我更新了代码。 – 2011-06-16 16:16:07

0

的JavaScriptSerializer串行化Unix时间日期时间值之前,反序列化的日期,所以你必须是整数值反序列化到一个日期第一。你可以简单地使用新的Date()做到这一点:

var data = $.parseJSON(msg.d); 
var deserializedDate = new Date(parseInt(data.BeginDate.substr(6)));