Java关于夏令时的神来之笔
夏令时简介:
Daylight Saving Time:DST 夏令时,又称“日光节约时制”或“夏时制”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏令时的具体规定不同。目前全世界有近110个每年要实行夏令时。(各时区多数位于其理想边界之西,导致实际上全年实施夏令时。)
1986年至1991年,在范围实行了六年夏令时,每年从4月中旬的第一个星期日2时整(时间)到9月中旬第一个星期日的凌晨2时整(夏令时)。除1986年因是实行夏令时的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。1992年4月5日后不再实行。
如果有幸你阅读完了上面的内容,下面的东西可能会更加有趣:
java的1986年5月4号的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]
Posted by 54chen java