C# C是否有关于DST的bug,如果有,xFF0C;MS是否提供了修复程序,以及如何提供?

C# C是否有关于DST的bug,如果有,xFF0C;MS是否提供了修复程序,以及如何提供?,c#,timezone,dst,C#,Timezone,Dst,有人知道C#是否有关于DST的bug,如果有,MS是否提供了关于它的修复,以及如何修复?非常感谢 我将笔记本电脑的时区设置为UTC+02:00,并选中“自动调整DST时钟”选项 从中我们可以看到,在2010-03-26 02:00,耶路撒冷开始使用DST,并将时区从UTC+2改为UTC+3。 我编写了一个程序来验证我的猜测:C#在2001年4月之前仍然在耶路撒冷使用UTC+2,从2002年4月开始在耶路撒冷使用DST(UTC+3) System.DateTime givenDate = Conv

有人知道C#是否有关于DST的bug,如果有,MS是否提供了关于它的修复,以及如何修复?非常感谢

我将笔记本电脑的时区设置为UTC+02:00,并选中“自动调整DST时钟”选项

从中我们可以看到,在2010-03-26 02:00,耶路撒冷开始使用DST,并将时区从UTC+2改为UTC+3。 我编写了一个程序来验证我的猜测:C#在2001年4月之前仍然在耶路撒冷使用UTC+2,从2002年4月开始在耶路撒冷使用DST(UTC+3)

System.DateTime givenDate = Convert.ToDateTime("03/24/2010 08:00");
givenDate = DateTime.SpecifyKind(givenDate, DateTimeKind.Local);
Console.WriteLine(givenDate.ToUniversalTime());

givenDate = Convert.ToDateTime("03/26/2010 08:00");
givenDate = DateTime.SpecifyKind(givenDate, DateTimeKind.Local);
Console.WriteLine(givenDate.ToUniversalTime());


givenDate = Convert.ToDateTime("04/01/2010 08:00");
givenDate = DateTime.SpecifyKind(givenDate, DateTimeKind.Local);
Console.WriteLine(givenDate.ToUniversalTime());

givenDate = Convert.ToDateTime("04/02/2010 08:00");
givenDate = DateTime.SpecifyKind(givenDate, DateTimeKind.Local);
Console.WriteLine(givenDate.ToUniversalTime());
2010年3月24日上午6:00:00
2010年3月26日上午6:00:00
2010年4月1日上午6:00:00==>C#耶路撒冷仍然使用UTC+2。
2010年4月2日5:00:00 AM==>从4月2日起,C#开始在耶路撒冷使用DST,更改为UTC+3


有人知道这是否是一个C#bug,如果是,如何修复它?

如果更改笔记本电脑的日期,它是否会在正确的日期切换到DST?(阅读:是Windows DST定义中的问题还是有独立的框架定义?)跟踪以色列的DST更改需要启用数据库和Windows Update。只有Vista及以上版本有一个,存储在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\TimeZones\Israel Standard Time\Dynamic DST中