Windows 和 Ubuntu Linux 上的 Java 版本 1.5.0_06 :
每当我向日期 "2008/10/05 00:00:00" 添加分钟时,似乎错误地添加了一个额外的小时。
即:在午夜 2008/10/05 00:00:00 上添加 360 分钟应到达 2008/10/05 06:00:00
但它到达2008/10/05 07:00:00
完全令人困惑的是,这个ONLY发生在 2008/10/05 当天,以及我尝试正确执行分钟添加的所有其他日子。
我是疯了还是这是 Java 中的错误?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
try {
String date = "2008/10/05 00:00:00";
int minutesToAdd = 360; // 6 hrs
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(date));
cal.add(Calendar.MINUTE, minutesToAdd);
System.out.println(cal.getTime());
} catch (ParseException e) {}
那天与夏令时交叉。
你在新西兰吗?如果是这样,则意味着您的时区文件已过期。最好去Java下载站点下载新的;查找“JDK DST 时区更新工具”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)