3

ajaxリクエストはWCF形式で日付値を送信しますか?これは、WCFがDataContractSerializerを使用して逆シリアル化できる文字列に変換されたJavaScriptの日付オブジェクトです。

"/Date(1342210377000)/"

クライアントはこのデータをWCFサービスに送信していましたが、現在はasp.netmvcコントローラーに送信されています。string.replace操作を大量に実行せずに、その文字列をac#DateTimeに逆シリアル化する方法を知っている人はいますか?活用できる既存の.NETシリアライザーはありますか?DataContractSerializerの使用を検討しましたが、そのreadobjectメソッドはストリームまたはxmlreaderを取ります。modelbindercontext.valueprovider値をシリアライザーが使用できるストリームオブジェクトに変換する方法を理解できませんでした。その文字列を正しく変換する方法を誰かが知っているなら、その方法を学びたいと思います。ヒント、トリック、コード、リンクなどをありがとう...

4

2 に答える 2

5

を使用して、それを値DataContractJsonSerializerに変換できます。DateTime

var str = "\"/Date(1342210377000)/\"";
var dcjs = new DataContractJsonSerializer(typeof(DateTime));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(str));
var dt = dcjs.ReadObject(ms);
Console.WriteLine(dt);
于 2012-07-13T21:10:21.517 に答える
-3
DateTime.ToUniversalTime()

たとえば、これにより、出力形式が「YYYY-MM-DD hh:mm:ss」になり、C# コードで必要に応じて書式設定を行うことができます。

于 2012-07-13T21:08:47.647 に答える