2012-01-23 10 views
2

非常にいいsignalRライブラリを使用して、タイプChangeDetailのオブジェクトをクライアントブラウザに送信するブロードキャストメッセージがあります。送信されたオブジェクトは、DateTimeプロパティが含まれていますSignalRからシリアル化されたDateTimeの解析

var change = new ChangeDetail(); 
change.TimeOfChange = DateTime.Now(); 

私はクライアントにこれを送信すると、SignalRはJSONへのオブジェクトのシリアル化の世話をするが、私は、オブジェクトを検査するJavaScriptコードのクライアントで、それがどのように見えますこれは

console.log (change.TimeOfChange); --> "/Date(1327332563969)/" 

js Dateオブジェクトにどのように戻ってきますか?私番号を取得するための正規表現と、その番号でDate.parseを書くことができますが、少し厄介なようです...?

答えて

3

通常、次のプロトタイプ拡張をStringに追加しました。

String.prototype.toDate = function() { 
    "use strict"; 

    var match = /\/Date\((\d{13})\)\//.exec(this); 

    return match === null ? null : new Date(parseInt(match[1], 10)); 
}; 

基本的には、文字列の拡張子に追加し、

+0

クール実際の日付オブジェクトを取り戻すためにchange.TimeOfChange.toDate()を行くことができることは良いアイデアです。 「厳格にする」とは何をしますか? –

+0

@Matt - http://stackoverflow.com/questions/1335851/what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it –

関連する問題