1

日付を返すサービスがあります。奇妙なことに、ほとんどの場合、次のように返されます。/Date(1364227320000)/

しかし、時にはこのような日付を返します/Date(1364050020139-0400)/

Visual Studio デバッガーを開くと、日付はそれぞれ同じように見えます (時間の違いを除く)

この違いは何が原因でしょうか?

4

2 に答える 2

2

これは で処理されSystem.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat()ます。DateTimeKindUnspecifiedまたはの場合Local、最後に UtcOffset を追加します (-400 の部分、つまり Utc - 4 時間)。

于 2013-03-29T17:42:20.550 に答える
1

オブジェクトの種類DateTime(つまり、そのKindプロパティの値)によって異なります。DateTimewith を返す場合DateTimeKind.Utc、オフセットはありません。日時の種類がLocalorUnspecifiedの場合、オフセットが書き出されます。

形式の詳細については、 MSDN の「スタンドアロン JSON シリアル化」ページの「DateTime Wire Format」セクションを参照してください。

于 2013-03-29T17:42:54.740 に答える