在Windows和Ubuntu Linux上使用Java版本1.5.0_06:
每当我将日期添加到日期“2008/10/05 00:00:00”时,似乎错误地添加了额外的小时。
ie:在2008/10/05 00:00:00午夜加入360分钟到达2008/10/05 06:00:00
但它是在2008/10/05 07:00:00到达
完全令人困惑的是,当这一天是2008/10/05这个 ONLY 时,我尝试正确执行分钟添加的所有其他日子。
我疯了还是这是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) {}
答案 0 :(得分:18)
那天白天节省了交叉。
你在新西兰吗?如果是这样,那意味着您的时区文件已过期。最好去Java下载站点下载新的站点;寻找“JDK DST时区更新工具”。答案 1 :(得分:3)
这可以成为夏令时吗?
答案 2 :(得分:1)