2015-08-31 60 views
2
import java.util.Calendar; 

... 

Calendar calendar = Calendar.getInstance(); 
calendar.setTime(new Date(1443351600000L));// set to 2015-9-27 
calendar.add(Calendar.HOUR_OF_DAY, 23); // add 23 hours 

我不知道为什么日历从2015-09-27 00:00:00更新为2015-09-28 00:00:00。我期待2015-09-27 23:00:00日历java无法正常工作

Calendar calendar = Calendar.getInstance(); 
calendar.setTime(new Date(1443351600000L));// set to 2015-9-28 
calendar.add(Calendar.HOUR_OF_DAY, 23); // add 23 hours 

而且这个工作正常。结果是2015-09-28 23:00:00

+2

**日光节约**可能改变吗?你在哪个时区? – Codebender

+2

*“日历java无法正常工作”* ...假设一个已经维护并优化了10年以上的代码库必须是您无法解释的行为原因,这不仅仅是有点冒失。在这种情况下,你很可能只是不了解行为的基础。 – scottb

+2

你已经注意到两个代码是相同的? – Tom

回答

1

有只有23小时的一天,如果Daylight Saving Time开始上2015-9-27

谷歌搜索上说2015年9月27日下面开始夏令时:

如果你在这些地方之一是,有你的答案。

+0

谢谢你的回答。你是对的。我昨晚才意识到这一点。 –