Я думаю, что это показывает, что для времен значит быть недействительным:
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
Время "27-03-2011 02:26:28" недопустимо, поскольку они не существуют из-за того, что часы на час вперед, что приводит к пропуску этого времени.