.NET 2.0 DateTime UTC转换

2 datetime utc c#-2.0

为什么ToUniversalTime函数在这里没有效果;

DateTime dt = new DateTime(2009,3,24,1,0,0,DateTimeKind.Local);
dt = dt.ToUniversalTime(); // convert BST to UTC ?
dt.ToString();
Run Code Online (Sandbox Code Playgroud)

"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();
Run Code Online (Sandbox Code Playgroud)

"24/03/2009 01:00:00"......正确.

我期望对第一个示例的ToString()值进行调整,其中DateTime指定为Local将在调用ToUniversalTime()时导致相应的TimeZone计算,并且英国的时间应该导致" 24/03/2009 00:00:00"作为UTC.

但是,似乎以这种方式指定DateTimeKind会导致ToUniversalTime或ToLocalTime无法进行任何计算.

Dav*_*d M 5

你有机会在英国吗?虽然我们现在处于夏令时,但您在代码中指定的日期是在切换之前,因此英国的本地和UTC时间是相同的.如果您将四月指定为您的月份,那么您将看到一小时的差异.