C#是否有关于DST的错误,如果是这样,MS是否提供了修复它以及如何?

时间:2011-10-14 09:27:23

标签: c# timezone dst

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

我将笔记本电脑的时区设置为UTC +02:00耶路撒冷并检查选项 - “自动调整夏令时的时钟”。

http://www.timeanddate.com/worldclock/timezone.html?n=110&syear=2010,我们可以看到,在2010-03-26 02:00,耶路撒冷开始使用DST并将时区从UTC + 2更改为UTC + 3。 我写了一个程序来验证我的猜测:C#在04/01之前仍然使用UTC + 2到耶路撒冷,并从04/02开始使用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());

3/24/2010 6:00:00 AM 3/26/2010 6:00:00 AM 4/1/2010 6:00:00 AM ===> C#仍然使用UTC + 2代表耶路撒冷 4/2/2010 5:00:00 AM ===>从4/2开始,C#开始使用DST用于耶路撒冷,改为UTC + 3

任何人都知道这是否是C#错误,如果是,如何解决?

0 个答案:

没有答案