Daylight Saving Time

Wiki Pedia定义如下:

夏时制,又称“日光节约时制”和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的國家具体规定不同。目前全世界有近110个国家每年要实行夏令时。

 

美國原本於每年4月的第一個星期日凌晨2時起至10月的最後一個星期日凌晨2時實施夏令時間;但經美國國會2005年通過的能源法案,自2007年起延長夏令時間,開始日期從每年4月的第一個星期日,提前到3月的第二個星期日,結束日期從每年10月的最後一個星期日,延後到11月的第一個星期日

 

夏令时开始,时间往前拨1个小时。

 

 夏令时结束,时间回拨1个小时

 

判断某个时间(默认该时间时区有实行夏令时)是否在夏令时内,代码实现如下:

   private   static   bool  IsDuringDaylightSavingTime(DateTime dt)
        {
            
bool  b  =   false ;
            DateTime DSTStart 
=   new  DateTime(dt.Year,  3 1 );
            DateTime DSTEnd 
=   new  DateTime(dt.Year,  11 1 );

            
int  startWeekIndex  =  ( int )DSTStart.DayOfWeek;
            
int  endWeekIndex  =  ( int )DSTEnd.DayOfWeek;

            
int  dayOfSecondSunday;
            
int  dayOfFirstSunday;
            
if  (startWeekIndex  ==   0 )
            {
                dayOfSecondSunday 
=   7   -  startWeekIndex  +   1 ;
            }
            
else
            {
                dayOfSecondSunday 
=   14   -  startWeekIndex  +   1 ;
            }
            
if  (endWeekIndex  ==   0 )
            {
                dayOfFirstSunday 
=   1 ;
            }
            
else
            {
                dayOfFirstSunday 
=   7   -  endWeekIndex  +   1 ;
            }

            DSTStart 
=   new  DateTime(DSTStart.Year, DSTStart.Month, dayOfSecondSunday,  2 0 0 );
            DSTEnd 
=   new  DateTime(DSTEnd.Year, DSTEnd.Month, dayOfFirstSunday,  2 0 0 );

            
if  (dt.CompareTo(DSTStart)  >   0   &&  dt.CompareTo(DSTEnd)  <   0 )
            {
                b 
=   true ;
            }

            
return  b;

        }

 

 

 

转载于:https://www.cnblogs.com/wpsl5168/archive/2010/07/23/Daylight_Saving_Time.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值