2013-07-18 67 views
0

我使用下面的代碼將JSON Date轉換爲Original Date。以下是我的代碼..轉換Json日期至日期

var convertDate = function (jsonDate) { 
      var date = new Date(parseInt(jsonDate.substr(6))); 
      return date.format("mm-dd-yyyy"); 
     }; 

alert(convertDate(aData["Date"])); 

以下錯誤顯示在Firebug中。

if (isNaN(date)) throw SyntaxError("invalid date"); 

任何幫助......

+2

'aData [「Date」]是什麼樣的? – MrCode

+0

什麼是你的JSON日期字符串?\ –

+0

'parseInt(jsonDate.substr(6)'是錯誤的,除非日期的形式是時間戳 –

回答

0

日期解析的工作原理是這樣的:

var dateObject = new Date("12-15-2012 01:23"); 
0

試試這個功能

function convertDate(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); 
}; 
0

這不是一個完整的答案,但我把它寫成你應該經歷的那種思考的一個例子。

它顯示的錯誤是它引發錯誤的代碼行。大概是在圖書館或其他東西里面。顯然它拋出,因爲變量date預計是一個數字,但沒有。根據其名稱和預期類型(編號),date必須是構造函數的參數Date,並且此部分在調用new Date的內部運行。結論:腳本失敗,因爲parseInt沒有返回一個數字。要調查這一點:單擊Firebug中的錯誤行以打開失敗的部分,在那裏設置斷點,再次運行它,然後單擊Firefox窗口頂部的選項卡瀏覽調用堆棧。