Тестирую на Windows 7 с последними обновлениями.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var msTZ = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");
var d = new DateTime(2005, 1, 1, 0, 0, 0, DateTimeKind.Utc);
for(int i = 0; i < 20; i++)
{
Console.WriteLine("{0:yyyy-MM} {1}", d, msTZ.GetUtcOffset(d));
d = d.AddMonths(6);
}
Console.ReadLine();
}
}
}
Результат:
2005-01 04:00:00
2005-07 05:00:00
2006-01 04:00:00
2006-07 05:00:00
2007-01 04:00:00
2007-07 05:00:00
2008-01 04:00:00
2008-07 05:00:00
2009-01 04:00:00
2009-07 05:00:00
2010-01 04:00:00
2010-07 05:00:00
2011-01 04:00:00
2011-07 04:00:00
2012-01 04:00:00
2012-07 04:00:00
2013-01 04:00:00
2013-07 04:00:00
2014-01 04:00:00
2014-07 04:00:00
Но по идее вместо 05:00:00 должно быть 03:00:00.
Есть предположение, что это баг в винде. А как вы думаете?
Протестировал на винде, где уже давным давно не ставились обновления (т.е. его не затронуло руководящее воздействие нашего президента об изменении перехода на летнее-зимнее время) получил следующий результат:
2005-01 03:00:00
2005-07 04:00:00
2006-01 03:00:00
2006-07 04:00:00
2007-01 03:00:00
2007-07 04:00:00
2008-01 03:00:00
2008-07 04:00:00
2009-01 03:00:00
2009-07 04:00:00
2010-01 03:00:00
2010-07 04:00:00
2011-01 03:00:00
2011-07 04:00:00
2012-01 03:00:00
2012-07 04:00:00
2013-01 03:00:00
2013-07 04:00:00
2014-01 03:00:00
2014-07 04:00:00
Здравствуйте, MaLS, Вы писали:
Бага 686169 на Коннекте.