当向GregorianCalender对象添加一分钟时,我们在下面添加1分钟的时间:
GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
gc.add(Calendar.MINUTE,1);
Run Code Online (Sandbox Code Playgroud)
但是错误地,我把它颠倒了:
GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
gc.add(1,Calendar.MINUTE);
Run Code Online (Sandbox Code Playgroud)
这增加了12年的时间.任何人都可以描述为什么会这样吗?我对Java的了解并不好,所以我很好奇为什么会这样.
当然.
Calendar.MINUTE12Calendar.YEAR1所以你的第二个电话相当于:
gc.add(Calendar.YEAR, 12);
Run Code Online (Sandbox Code Playgroud)
这就是我们为什么不尝试构建这样的API的原因.java.util.Calendar在任何方面都是一个可怕的API.请使用Joda Time或java.timeJava 8.
| 归档时间: |
|
| 查看次数: |
33 次 |
| 最近记录: |