Java关于夏令时的神来之笔

夏令时简介:

Daylight Saving Time:DST     夏令时,又称“日光节约时制”或“夏时制”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏令时的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。(各时区多数位于其理想边界之西,导致实际上全年实施夏令时。)

      1986年至1991年,中华人民共和国在全国范围实行了六年夏令时,每年从4月中旬的第一个星期日2时整(北京时间)到9月中旬第一个星期日的凌晨2时整(北京夏令时)。除1986年因是实行夏令时的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。1992年4月5日后不再实行。

如果有幸你阅读完了上面的内容,下面的东西可能会更加有趣: 

java198654号的0点不见了!!!

 

public static final SimpleDateFormat Y2MD_HMS = new SimpleDateFormat("yy-MM-dd HH:mm:ss");

Date d = TimeFormattor.Y2MD_HMS.parse("1986-5-4 0:0:0");
 System.out.println(d);
 

输出是Sun May 04 01:00:00 CDT 1986

继续验证:

 

循环打印了附近的时间

long _1986_5_4_0_0_0 = 515520000000L;//
  Calendar c = Calendar.getInstance();
  
  for(long i=_1986_5_4_0_0_0-H;i<_1986_5_4_0_0_0+H;i+=M)//
打印每分钟   {
   c.setTimeInMillis(i);
   System.out.println(c.getTime());
  }

是java的神来之笔,还是jdk的bug???


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]

捐款订阅54chen
捐赠说明

Comments