最近在项目中遇到的问题夏令所以我分析研究了夏令的时代。让我们与你分享。在本文的最后,我使用JavaScript代码判断当前时区中的特定时间是否属于夏令的时间。
夏令是什么?夏令时:DST),也被称为“夏令时系统”和“夏令时间”,这是一个人为设置当地时间以节约能源的系统。该系统实施过程中采用的统一时间称为“夏令时间”。
与夏令时间(DST)相比,它是标准时间,以美国为单位,如东部标准时间(EST)。目前主要在以下国家和地区实施。
北美国家(如美国、加拿大)
所有欧盟国家
瑞士
俄罗斯联邦
澳大利亚
新西兰
墨西哥
巴西
埃及
中东的一些国家
其他国家和地区
在实施夏令的国家或地区,每年春季3月的第二个星期日至秋季11月的第一个星期日属于夏令的时间。
在标准时间结束时,当进入夏令
当我们进入夏令时,时钟被向后拨了一个小时,直接从1点改为3点,也就是说,我们比之前提前一个小时与洋基队开会。
例如,2018年的夏令直接从2018年3月11日的2:00跳到2:59:59,直接从2018年3月11日的凌晨1:59跳到2018年3月11日的凌晨3:00。
二夏令,时间结束,输入标准时间
在夏令的时间结束时,向前走一个小时。现在是两点一分。现在比平时晚了一个小时。
例如,2018年夏令的结束时间是2018年11月4日。在这一天,需要2点1分。
夏令的时间和时区之间有什么关系?因为夏令的时间并不是在世界上所有国家都实施的,即使是在属于同一时区的不同国家和地区,如果一个国家进入夏令,而另一个国家没有,即使时区相同,时间也不同。
下表显示了作者的测试结果:
序列号 | 时区 | 夏令的时间是否适用? |
1 | UTC-9(Alaska) | Y |
2 | UTC-8(加拿大和美国) | Y |
3 | UTC-6(复活节岛) | N |
4 | UTC-5(东部时间(美国和加拿大)) | Y |
5 | UTC-5(印第安纳州(东部)) | Y |
6 | UTC-5(波哥大、利马、基多、里约布兰科) | N |
7 | UTC-4(大西洋时间(加拿大)) | Y |
8 | UTC-5(切图马尔) | N |
从上表可以看出,尽管波哥大、利马、基多、里约热内卢等国家和地区属于UTC五世,但它们并未实施夏令。
我是怎么测试的?事实上,这很简单。打开操作系统,单击桌面右下角的时间管理,调整时区和测试时间。如下图所示,当作者选择的时区为UTC五号(美国和加拿大)时,如果在2018年3月11日强制将时间更改为2018年3月11日,则凌晨2:53:40不成功,因为UTC五号(美国和加拿大)中根本不存在该时间点,这是否增加了知识?
为什么会有夏令?中国有吗?1895年,新西兰首次引入夏令时,主要是为了节省当时的电力消耗。一般来说,在黎明较早的夏天,人们可以早起早睡,减少照明量,从而充分利用照明资源,节约照明用电。
“夏令时”的核心理念是充分利用阳光照明,降低能耗,从而节约能源。夏天的日照时间很长。在不改变作息时间的前提下,提前“时间”,及早利用阳光。
事实上,1986年5月4日凌晨2点,在西单电报大楼,夏令也在中国实施时,工作人员将顶层的时钟拨到了3点。同时中央人民广播电台《北京时间三点整》问世,但后来由于实际原因,没有继续实施。由于具体原因,请自行搜索杜娘,作者不再重复。
JavaScript如何判断是不是夏令?JavaScript中有一个非常有用的时间对象date。
我们可以通过调用其方法gettimezoneoffset()来获取时区抵消(相对于GMT(标准时区)时间)分钟。
如果要将偏移量转换为小时,需要除以60
在夏令实施的国家和地区的不同月份,抵销的返回值可能不完全相同。例如,在夏令实施的国家和地区,时区偏移的返回值在每年的1月和7月必须不同。
gettimezoneoffset()方法返回标准时区的时间偏移量(以分钟为单位),并反转符号。例如,gmt-5(美国和加拿大)在2018年1月,gettimezoneoffset()将返回300而不是-300;2018年7月,gettimezoneoffset()将返回240
jangetTimezoneOffset()=300
七月getTimezoneOffset()=240
当我们将当前时间的当前时区偏移量与上面1月和7月的最大值进行比较时,如果当前时区偏移量小于其最大值,我们认为输入夏令是令人惊讶的。学习知识和学习程序没有错误。
如果您感兴趣,可以将上图中的代码写入JavaScript文件,不断调整本地时区和时间,然后刷新浏览器,查看夏令出现时是否会弹出JavaScript消息框。
如果读者遇到任何问题,请注意我的建议今天的头条新闻给自己的媒体打电话,并在文章底部留言。我会尽快回复你。
[一些图片来自互联网。如果侵犯,请联系我并删除它们]
最新评论