代码之家  ›  专栏  ›  技术社区  ›  Steven Evers

ToLocalTime在时区之间工作吗?

  •  2
  • Steven Evers  · 技术社区  · 14 年前

    documentation 他说。。。

    • 您可以使用ToLocalTime方法还原由ToUniversalTime或FromFileTimeUtc方法转换为UTC的本地日期和时间值。

    接着说(立即)

    • 但是,如果原始时间表示本地时区中的无效时间,它将与还原的值不匹配。

    后者是否意味着只有在时间“无效”的情况下它才会不起作用?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Mark Byers    14 年前

    DateTime now = DateTime.Now;
    for (DateTime dt = now; dt < now.AddYears(1); dt += TimeSpan.FromMinutes(30))
    {
        DateTime dt2 = dt.ToUniversalTime().ToLocalTime(); // dt2 == dt ?
        if (dt2 != dt)
        {
            Console.WriteLine("Not equal: {0}, {1}", dt, dt2);
        }
    }
    

    我的计算机上的结果(您可能会得到不同的结果):

    Not equal: 27-03-2011 02:26:28, 27-03-2011 03:26:28
    Not equal: 27-03-2011 02:56:28, 27-03-2011 03:56:28