为什么ToUniversalTime函数在这里没有效果;
DateTime dt = new DateTime(2009,3,24,1,0,0,DateTimeKind.Local); dt = dt.ToUniversalTime(); // convert BST to UTC ? dt.ToString();
"2009年3月24日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()值进行调整,其中DateTime指定为Local将在调用ToUniversalTime()时导致相应的TimeZone计算,并且英国的时间应该导致" 24/03/2009 00:00:00"作为UTC.
但是,似乎以这种方式指定DateTimeKind会导致ToUniversalTime或ToLocalTime无法进行任何计算.
你有机会在英国吗?虽然我们现在处于夏令时,但您在代码中指定的日期是在切换之前,因此英国的本地和UTC时间是相同的.如果您将四月指定为您的月份,那么您将看到一小时的差异.