zoukankan      html  css  js  c++  java
  • 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, 31);
                DateTime DSTEnd 
    = new DateTime(dt.Year, 111);

                
    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, 200);
                DSTEnd 
    = new DateTime(DSTEnd.Year, DSTEnd.Month, dayOfFirstSunday, 200);

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

                
    return b;

            }
  • 相关阅读:
    session和cookie的理解
    CSS3媒体查询能检测到的特性小结
    怎样让搜索引擎收录你的网站|向搜索引擎提交你的网站
    vue-i18n vue-cli项目中实现国际化 多语言切换功能 一
    chrome中hack解决input:-webkit-autofill自定义样式
    知识分享
    iPhone的CSS3媒体查询
    C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法
    快速原型设计工具-Axure RP的介绍及简单使用(生产初期向客户展示设计产品的原型-也就是展示产品)
    纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)
  • 原文地址:https://www.cnblogs.com/wpsl5168/p/Daylight_Saving_Time.html
Copyright © 2011-2022 走看看