从网上得知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
谁能解释一下是什么原因?
一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电
这个是夏时制的来源
夏时制开始后
时间会从3/12号的凌晨2点,直接跳到凌晨3点
相当于1点59分59秒以后,就是3点了,所以你1,2的测试结果是不存在的
谢谢