`
blueyanghualong
  • 浏览: 225219 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于夏令时

阅读更多
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;

        }






分享到:
评论

相关推荐

    iOS NSDate中关于夏令时的坑

    然而,在 NSDate 中存在一个关于夏令时的坑,容易导致日期字符串转换失败。今天,我们就来一起探索这个问题,以及相关的解决方案。 问题描述 -------- 在 iOS 开发中,我们经常需要将日期字符串转换为 NSDate 对象...

    GPS自动调夏令时和冬令时授时系统.pdf

    "GPS自动调夏令时和冬令时授时系统.pdf" 本文主要介绍了 GPS 自动调夏令时和冬令时授时系统的设计和实现,旨在解决广播发射台的手动调夏令时、冬令时的问题。该系统由 GPS 天线、GPS 接收机、授时电脑和发射机...

    llinux 夏令时与各种时间

    夏令时(Daylight Saving Time, DST)是一个特殊的时间调整,某些地区在夏季会提前一个小时以利用更多日照时间。在`struct tm`中,`tm_isdst`字段用于标记是否处于夏令时期间。如果不确定当前时间是否为夏令时,该...

    SUN工作站夏令时问题处理方案

    在IT领域,夏令时(Daylight Saving Time, DST)是一个常见的系统管理问题,尤其是在运行特定操作系统如SUN Solaris的工作站上。SUN Solaris是Sun Microsystems开发的一个Unix操作系统,广泛应用于服务器和工作站...

    时区及夏令时检测(C#源码)

    用于检测当前的时区,并且判断该时区是否实行夏令时。

    DaylightSavingAbsolute.rar

    这个“DaylightSavingAbsolute.rar”压缩包文件很可能包含与AB PLC编程相关的实例或教程,特别是关于夏令时(Daylight Saving Time)的设置和处理。 PLC是工厂自动化系统中的核心组件,它通过编程来控制各种机械和...

    使用js判断当前时区TimeZone是否是夏令时

    在计算机编程中,特别是使用JavaScript语言,判断当前时区是否实行夏令时是一项常见的需求,尤其对于处理时间数据的应用程序来说尤为重要。夏令时(Daylight Saving Time,简称DST)是一种为节约能源而人为调整本地...

    Daylight Savings Time and Easter.rar

    由于文件列表中只有一个文件名:“Daylight Savings Time and Easter”,我们可以假设这个文件是一个综合性的文档或者程序文件,可能包含了关于夏令时和复活节的编程实例。文件可能涵盖以下内容: 1. **时间同步**...

    基于java时区转换夏令时的问题及解决方法

    "基于Java时区转换夏令时的问题及解决方法" 在Java中进行时区转换时,需要了解夏令时的概念和时区的表示方法。夏令时是指在夏天的时候,将时钟拨快一个小时,以提早日光的使用。目前有110多个国家采用夏令时。 ...

    isthisdst:[WIP] 你在夏令时吗?

    描述部分确认了这是一个关于夏令时的问题,并提到会有更多信息后续提供。此外,版权信息告诉我们这个项目由内森·维特斯托克创建,它基于MIT License,这是一个开放源代码软件许可证,允许用户自由使用、修改和分发...

    Daylight Savings Time example的PLC程序.zip

    在压缩包中的文件“readme.txt”可能包含了关于夏令时示例程序的说明、安装指南或者使用注意事项。这类文本文件在软件或程序包中很常见,目的是帮助用户理解如何操作或应用提供的内容。而“DST Q02H”这个文件名可能...

    夏令时补丁

    ITEYE是一个知名的中国IT技术社区,博主CheYonghong可能分享了关于如何解决与夏令时相关的编程问题或者系统配置的实践经验。 标签“源码”暗示了这个补丁可能涉及到源代码级别的修改或分析,可能是为了理解其工作...

    中国夏令时plist文件压缩包

    此plist文件为1935年至1991年,包含中国大陆,中国香港,中国澳门,中国台湾在内的夏令时日期。中国大陆于1992年取消夏令时

    夏令时:检查日期是否在美国夏令时-matlab开发

    在编程领域,特别是使用MATLAB这种强大的数值计算和数据分析环境时,有时我们需要处理与时间相关的任务,例如判断某个日期是否处于美国的夏令时。本文将深入探讨如何在MATLAB中实现这一功能,并结合给定的标题“夏令...

    时区:Arduino库可促进时区转换和自动夏令时(夏令时)调整

    本文将详细讲解标题所提及的“时区:Arduino库可促进时区转换和自动夏令时(夏令时)调整”,以及相关的知识点。 首先,我们需要了解Arduino库的概念。Arduino库是一系列预先编写的代码,为开发者提供了方便的功能...

    js获得当前时区夏令时发生和终止的时间代码

    根据给定文件信息,我将详细解释如何使用JavaScript代码获取当前时区夏令时(Daylight Saving Time, DST)开始和结束的时间。 首先,我们需要了解夏令时是一种为了在夏季节约能源而调整时钟的时间制度,通过将时钟...

    由夏令时间所引起的时间差的解决方法

    由于夏令时的存在,当一个地区进入或退出夏令时状态时,与未实行夏令时地区的时差会发生变化,这往往会给跨时区的应用程序带来挑战。 #### 解决方案 1. **配置环境时区** - 在PHP环境中,可以通过修改`php.ini`...

    世界时间对照TimeZone

    这些数据库不仅包含每个时区的偏移量,还包含了关于夏令时规则的信息。 对于“控件”这个标签,我们可以理解为在用户界面(UI)设计中,可能需要一个能够展示多个时区时间的控件。这样的控件可以帮助用户快速查看世界...

    (最新)Android 完美获取手机当前时区,解决时间偏移量和夏令时差问题

    Android 完美获取手机当前时区,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,

Global site tag (gtag.js) - Google Analytics