C# DateTime.Parse 给出奇怪的输出

C# DateTime.Parse giving strange output

我有一些来自 FR 的同事的单元测试代码失败了。我怀疑这个问题与某些日期时间格式有关,但我不确定来源是什么。我有一个变量 dt 没有按照我认为应该的方式进行解析。下面是我的即时 Window

的一些输出
dt
"2016-12-14T00:00:00Z"
DateTime.Parse(dt, CultureInfo.InvariantCulture)
{12/13/2016 7:00:00 PM}
    Date: {12/13/2016 12:00:00 AM}
    Day: 13
    DayOfWeek: Tuesday
    DayOfYear: 348
    Hour: 19
    Kind: Local
    Millisecond: 0
    Minute: 0
    Month: 12
    Second: 0
    Ticks: 636172524000000000
    TimeOfDay: {19:00:00}
    Year: 2016

dt 具有我认为应该的值,看起来是 2016 年 12 月 14 日午夜。但是当我解析它时,我得到了 12 月 13 日晚上 7 点。我觉得很困惑。

根据this page

当"Z"(祖鲁语)被追加在一个时间的末尾时,表示该时间为UTC。

  • 使用DateTimeOffset.Parse(字符串).UtcDateTime.