我有两个约会
DateTime date1Z = DateTime.Parse("2014-05-22 23:39:29Z");
DateTime date1ZKind = DateTime.SpecifyKind(DateTime.Parse("2014-05-22 23:39:29Z"), DateTimeKind.Utc);
DateTime date2 = DateTime.Parse("2014-05-22 23:39:29");
DateTime date2Kind = DateTime.SpecifyKind(DateTime.Parse("2014-05-22 23:39:29"), DateTimeKind.Utc);
Console.WriteLine(date1Z);
Console.WriteLine(date1ZKind);
Console.WriteLine(date2);
Console.WriteLine(date2Kind);
打印
23/05/2014 11:39:29 a.m.
23/05/2014 11:39:29 a.m.
22/05/2014 11:39:29 p.m.
22/05/2014 11:39:29 p.m.
有人可以解释这里发生的事情吗?
答案 0 :(得分:1)
您居住在新西兰,比UTC高出+12。这符合您遇到的日期差异。如上所述,Z代表UTC。
答案 1 :(得分:1)
使用后缀" Z"是日期简写,说日期时间是"祖鲁"时间是UTC时间的另一个词。前两个日期被解析为UTC,而后两个日期被解析为所讨论的计算机上的任何时间。
所以回答你关于发生了什么的问题:后两个日期被当地时间抵消,显然是+12:00(加上12个小时),而前两个不是(因为它们被标记) as" Zulu"或UTC时间)。