日付を返すサービスがあります。奇妙なことに、ほとんどの場合、次のように返されます。/Date(1364227320000)/
しかし、時にはこのような日付を返します/Date(1364050020139-0400)/
Visual Studio デバッガーを開くと、日付はそれぞれ同じように見えます (時間の違いを除く)
この違いは何が原因でしょうか?
日付を返すサービスがあります。奇妙なことに、ほとんどの場合、次のように返されます。/Date(1364227320000)/
しかし、時にはこのような日付を返します/Date(1364050020139-0400)/
Visual Studio デバッガーを開くと、日付はそれぞれ同じように見えます (時間の違いを除く)
この違いは何が原因でしょうか?
これは で処理されSystem.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat()
ます。DateTimeKind
がUnspecified
またはの場合Local
、最後に UtcOffset を追加します (-400 の部分、つまり Utc - 4 時間)。
オブジェクトの種類DateTime
(つまり、そのKind
プロパティの値)によって異なります。DateTime
with を返す場合DateTimeKind.Utc
、オフセットはありません。日時の種類がLocal
orUnspecified
の場合、オフセットが書き出されます。
形式の詳細については、 MSDN の「スタンドアロン JSON シリアル化」ページの「DateTime Wire Format」セクションを参照してください。