Почему функция 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 () первого примера, в котором DateTime, заданный как Local, приведет к соответствующему вычислению TimeZone при вызове ToUniversalTime () и время в Великобритании должно привело к
«24/03/2009 00:00:00» как UTC.
Однако, похоже, что указание DateTimeKind таким образом делает ToUniversalTime или ToLocalTime неспособным произвести какие-либо вычисления.