0

に変換するために以下のコードを使用しJSON DateましたOriginal Date。以下は私のコードです..

    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");

ヘルプ...

4

3 に答える 3

0

これは完全な答えではありませんが、あなたが経験すべきだった考え方の例として書いています.

表示されたエラーは、エラーをスローしたコード行です。おそらく図書館か何かの中にあると思います。date変数が数値であると予想されていたが、そうではなかったため、明らかにスローされました。その名前と予想される型 (数値) から判断するとdate、 は のコンストラクターへの引数である必要がありDate、この部分は への呼び出し内で実行されていましたnew Date。結論: parseInt が数値を返さないため、スクリプトは失敗します。これを調査するには、Firebug のエラー行をクリックして失敗した部分を開き、そこにブレークポイントを設定して再度実行し、Firefox ウィンドウの上部にあるタブをクリックしてコール スタックをナビゲートします。

于 2013-07-18T07:55:43.573 に答える
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);
};
于 2013-07-18T07:37:24.693 に答える