☼ 什么是DST以及它对IT设备、软件的影响 ☼

来源:互联网 发布:颜值高帅哥多的网络剧 编辑:程序博客网 时间:2024/05/22 10:43

这一阵子老是看到网上提到 Daylight Saving Time (DST),那么到底DST是什么呢?

      DST翻译成中文好像是叫“日光节约时制”,也可以叫“夏时制”,是美国以及其它一些国家实行的时间调整制度。其实施方法就是在3月份的第二个礼拜日(在2007年以前是4月份的第一个礼拜日)凌晨2点将时间提前一小时,然后在11月份的第一个礼拜日(在2007年以前是10月份的最后一个礼拜日)凌晨2点将时间推迟一小时。

     下表是美国1990年至2015年使用的“夏时制”。简单讲,就是在春天,将时间提前一小时,然后在秋天,将时间推迟一小时。

      http://www.energy.ca.gov/daylightsaving.html

Year DST Begins 2 a.m.
(First Sunday in April) DST Ends 2 a.m.
(Last Sunday in October) 1990April 1October 281991April 7October 27
1992April 5October 251993April 4October 311994April 3October 301995April 2October 291996April 7October 271997April 6October 261998April 5October 251999April 4October 312000April 2October 292001April 1October 282002April 7October 272003April 6October 262004April 4October 312005April 3October 302006April 2October 29DST Start and End date changes beginning March 2007Year DST Begins 2 a.m.
(Second Sunday in March) DST Ends 2 a.m.
(First Sunday in November) 2007March 11November 42008March 9November 22009March 8November 12010March 14November 72011March 13November 62012March 11November 42013March 10November 32014March 9November 22015March 8November 1

 

      为什么要这么作呢?因为在这段时间里面,太阳出来得较早,同时日照时间也较长,如果把时间提前一个小时,就可以充分利用日光,减少因照明消耗的能源。不要小看这区区一小时,据说可以为美国节约1%的能源消耗

      http://www.house.gov/upton/press/press-07-21-05.html

      -------------------------------------------------------------
Extending daylight in the 1970's saved the equivalent of 100,000 barrels of oil a day, or one percent of the nation's energy consumption. Taking the savings figure from the mid 1970s - 100,000 barrels of oil a day - and multiplying that by $60 a barrel for 30 days, the savings amounts to at least $180 million for the extended weeks.
     --------------------------------------------------------------


      人可以通过调整手表或者时钟来实现,那么IT设备呢?不能说到时候你才去调整吧,那样会出大问题的。所以需要相应的补丁程序来完成这个任务,有点像Y2K的解决。

       由于这个“夏时制”只与时区TIMEZONE有关,对于没有实行“夏时制”的国家和地区,就没有这个顾虑。那么对于需要实现“夏时制”的地区,SUN公司是如何在其产品中实现的呢?

      在Solaris操作系统中,有两个东西与时区有关,一个是libc库,一个是zoneinfo库。这两个库都是在程序运行之初才读取的,因此安装了相应的补丁后,需要重新启动这些受影响的应用程序。为了保证所有程序都以及采用了新的“夏时制”,因此建议在安装补丁后,要进行重启。对于有控制器的服务器或者存储阵列,也需要升级相关的补丁来支持新的“夏时制”。

        对于已经支持新的“夏时制”的设备,以美国为例,在2007年3月11日和11月4日,将发生以下事件:

 

  • 此刻是2007年3月11日1:59AM EST(Eastern Standard Time),1分钟后,时间是2007年3月11日3:00 AM EDT(Eastern Daylight Time)
  • 此刻是2007年11月4日1:59AM EDT(Eastern Daylight Time),1分钟后,时间是2007年11月4日1:00 AM EST(Eastern Standard Time)

         注意上面EST和EDT之间的转变。

        我记得小时候中国也采用过这种制度,为什么现在不用了呢?现在不是提倡建设节约型社会嘛,我觉得挺好的。

        为什么不直接将作息时间调整了,比如上班从9:00AM调整为8:00AM,看来折腾机器还是比折腾人容易 ^_^