【发布时间】:2023-04-02 10:43:02
【问题描述】:
在 Windows 和 Ubuntu Linux 上使用 Java 版本 1.5.0_06:
每当我在 "2008/10/05 00:00:00" 日期上添加分钟时,似乎错误地添加了一个额外的小时。
即:在 2008 年 10 月 5 日午夜 00:00:00 加上 360 分钟应到达 2008/10/05 06:00:00
但它是在 2008/10/05 07:00:00 到达的
完全令人困惑的是,这仅发生在 2008 年 10 月 5 日这一天,我尝试正确执行分钟加法的所有其他日子。
我是疯了还是这是 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) {}
【问题讨论】: