当我将当前时间序列化为DateTime
使用时,DataContractJsonSerializer
我得到以下1307654074638-0500
.
我想生成我自己的可以由 反序列化的 JSON DataContractJsonSerializer
,但我不知道如何生成DateTime
具有相同格式的 JSON。
我相信它使用自纪元以来的毫秒数作为它的基础,但我不断得到大约 6 小时的数字。我相信这与时区(我在中央时间)有关,这是有道理的。
var myDate = DateTime.Now;
var epoch = new DateTime(1970, 01, 01, 01, 0, 0);
var serializer = new DataContractJsonSerializer(typeof (DateTime));
var ms = new MemoryStream();
serializer.WriteObject(ms, myDate);
Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
Console.WriteLine((myDate.AddTicks(-epoch.Ticks)).Ticks / 10000);
输出
"\/Date(1307654587318-0500)\/"
1307632987318
或者为了更容易比较
1307654587318-0500
1307632987318