夏时制的来源:一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电
从网上得知2017年美国(太平洋时区)从2017年03月12日当地时间早上02:00(北京时间14:00)开始,至2017年11月5日结束, 调用微软的系统方法,可以进行判断。
测试代码如下:
TimeZoneInfo timeZoneInfo=TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
DateTime date1 = new DateTime(2017, 3, 12, 2, 0, 0); //2017/03/12 2:00:00
bool result1= timeZoneInfo.IsDaylightSavingTime(date1);
DateTime date2 = new DateTime(2017, 3, 12, 2, 50, 0); //2017/03/12 2:50:00
bool result2= timeZoneInfo.IsDaylightSavingTime(date2);
DateTime date3 = new DateTime(2017, 3, 12, 3, 0, 0); //2017/03/12 3:00:00
bool result3= timeZoneInfo.IsDaylightSavingTime(date3);
针对上面3个测试结果
1). //2017/03/12 2:00:00 result: false
2). //2017/03/12 2:50:00 result:false
3). //2017/03/12 3:00:00 result:true
可以看到,1,2结果为false,和我们想象的有些出入,这个原因是
夏时制开始后时间会从3/12号的凌晨2点,直接跳到凌晨3点
相当于1点59分59秒以后,就是3点了,所以1,2的测试结果是不存在的