2012-11-22 51 views
1

在我MVC4 asp.net項目,我從數據庫綁定日期時間使用AJAX的觀點,日期時間不正確綁定查看

這裏是Ajax代碼,

 $.get(
     '/Child/GetFamilyMemberView', { familyid: hv }, 
     function (data) { 
      var html = ""; 
      for (var i = 0; i < data.length; i++) {     
       html += "<p>" + data[i].Family_Member_DateofBirth + "</p>";     
      } 
      $("#getfamilymember").append(html); 
     }); 

結合的日期時間後價值來看,我得到的輸出爲,

/Date(1104517800000)/ 

任何想法爲什麼會出現這種情況?

請幫幫忙,

感謝

回答

1

正在發生,因爲你的AJAX是傳遞數據的JSON。

使用像這樣的一個功能到JSON日期轉換爲Javascript日期:

function parseJsonDate(jsonDate) { 
    var offset = new Date().getTimezoneOffset() * 60000; 
    var parts = /\/Date\((-?\d+)([+-]\d{2})?(\d{2})?.*/.exec(jsonDate); 

    if (parts[2] == undefined) 
     parts[2] = 0; 

    if (parts[3] == undefined) 
     parts[3] = 0; 

    return new Date(+parts[1] + offset + parts[2]*3600000 + parts[3]*60000); 
}; 

更新:使用此http://www.mattkruse.com/javascript/date/格式化javascript日期字符串。

如果你想通過日期字符串(MM/DD/YYYY):

function formatDate(jsDate) 
{ 
    return jsDate.getMonth()+1 + "/" + jsDate.getDate() + "/" + jsDate.getYear(); 
} 
+0

謝謝...它工作。現在我的輸出看起來像「星期四1987年12月31日18:30:00格林尼治標準時間+ 0530(印度標準時間)「...它不方便用戶..我怎麼能使它」mm/dd/yyyy「格式? –

+0

用函數formatDate(jsDate) – Dryadwoods

+0

查看我更新的答案我通過使用「jsDate.getFullYear()」而不是「jsDate.getYear()」得到了校正年 –