2011-06-24 7 views
5

に、.NETのDateTimeオブジェクトに変換します。私は、取得したオブジェクトをjavascriptのDateオブジェクトに変換しようとするのに苦労しました。 検索されたオブジェクトは、値 "/ Date(615592800000)/"の文字列です。私は価値がエポックタイムだと思う。は、私は次のような問題をしたJavascriptのDateオブジェクト

私の質問は、regexを使ってエポック値を選択して新しいDateオブジェクトを作成するよりも、日付オブジェクトを取得する別の方法がありますか?

私はかなりJSに新しいので、任意の助けに感謝します。

JSONを標準DateTime書式を持っていないので、これは私が...これは私は念のために、使用している機能である知っていることを

答えて

6

ない...

function toDateFromJson(src) { 
    return new Date(parseInt(src.substr(6))); 
} 
+0

Thx。正確には私が探していたものではありませんが、これは非常にシンプルで使いやすいものです。 –

0

- ベンダーは、に無料です彼らが望むようにそれをマークしてください。 WCFには、この奇妙な形式の/ Date()/ があります。数ヶ月前にこの問題に直面しました。 JqueryとJqueryのUIを使用すると、そのように見えます。 controlIdは要素の識別子です

var converted = eval(original.replace(/\/Date\((\d+)\)\//gi, 'new Date($1)')); 
0

正規表現は完全に正しい方法です。

var msDateRegex = /"\\\/Date\((-?\d+)\)\\\/"/g; 

var msDateJsonConverter = function(data) { 
    return JSON.parse($.trim(data.replace(msDateRegex, '{"__date":$1}')), function(key, value) { 
     return value && typeof value.__date == "number" ? new Date(value.__date) : value; 
    }); 
}; 

$.ajaxSetup({ converters: { "text json": msDateJsonConverter } }); 

参照してください:http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx

0

はこれを試してみてください。あなたは以下の関数を取得する日付の文字列を渡します。それはあなたにJavaScriptの日付オブジェクトを与えるでしょう。

function (val) { 
     var reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/; 
     var reMsAjax = /^\/Date\((d|-|.*)\)[\/|\\]$/; 


      if (val)) { 
         var a = reISO.exec(val); 
         if (a) { 
          val = new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6])); 
          return val; 
         } 
         a = reMsAjax.exec(val); 
         if (a) { 
          var b = a[1].split(/[-+,.]/); 
          val = new Date(b[0] ? +b[0] : 0 - +b[1]); 
          return val; 
         } 
        } 

     return val; 
    } 
+0

このコードは無効です(構文エラー) – meffect

関連する問題