为什么 ToUniversalTime 函数在这里没有作用;
DateTime dt = new DateTime(2009,3,24,1,0,0,DateTimeKind.Local);
dt = dt.ToUniversalTime(); // convert BST to UTC ?
dt.ToString();
“24/03/2009 01:00:00”……错了?
是相同的..
DateTime dt = new DateTime(2009,3,24,1,0,0,DateTimeKind.Utc);
dt = dt.ToUniversalTime(); // nothing to do, already utc
dt.ToString();
“24/03/2009 01:00:00” ...正确。
我希望对第一个示例的 ToString() 值进行调整,其中指定为 Local 的 DateTime 在调用 ToUniversalTime() 时会导致相应的 TimeZone 计算,而英国的时间应该会导致“ 24/03/2009 00:00:00”为 UTC。
但是,以这种方式指定 DateTimeKind 似乎会使 ToUniversalTime 或 ToLocalTime 无法进行任何计算。