2011-09-09 12 views
4

DataContractJsonSerializerを使用してDateTimeOffsetデータ型に現在の日付を含むオブジェクトをシリアル化しました。これが出力として得られるものです:DataContractJsonSerializerでシリアル化されたDateTimeOffsetを読み取る方法

<root type="object"> 
<blah type="object"> 
<DateTime>/Date(1315565372414)/</DateTime> 
<OffsetMinutes type="number">300</OffsetMinutes> 
</blah> 
</root> 

どのように私はこれを意味しますか? 1315565372414の番号を日付に戻すにはどうすればよいですか? 私のクライアントはこのことをPythonで受け取っており、これを元に戻したいと考えています。 エポック以降のティックまたは秒であるかどうかはわかりませんが、どちらも間違った結果になります。続き はそれをバックに変換する.NETの私のコードですが、私はAddSecondsをしようとした場合の結果は不条理

Console.WriteLine(new DateTime(1970, 1, 1).AddTicks(1315565372414)); 

です。それは範囲外の例外をスローします。ここで

は、私は日付をシリアル化しています方法です:

[DataContract] 
public class Test 
{ 
    [DataMember] 
    public DateTimeOffset blah { get; set; } 
} 

    var serializer = new DataContractJsonSerializer(typeof(Test)); 
    var writer = new StringWriter(); 
    serializer.WriteObject(new XmlTextWriter(writer), new Test() { blah = DateTimeOffset.Now }); 
    string output = writer.ToString(); 

    Console.WriteLine(output); 

答えて