我做了一个简单的测试
假设今天为200年7月14号
- Java code
public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_MONTH, 20); System.out.println(c.get(Calendar.DAY_OF_MONTH )); }
我日期增加20天后,得到的应该是2008年8月3日
但是在获取c.get(Calendar.DAY_OF_MONTH)的时候,得到的却不是8
大家遇到过这样的问题吗?
------解决方案--------------------
今天是7月的第14天,你加了20天
就是7月的第34天。(当然7月没有34天,所以进位了,到了第8月)
也就是8月的第3天
所以输出是3
------解决方案--------------------
c.get(Calendar.DAY_OF_MONTH)得到的是日不是月
------解决方案--------------------
- Java code
c.get(Calendar.MONTH) + 1
------解决方案--------------------
月份是从0到11
- Java code
import java.util.Calendar;public class test2 { public static void main(String[] args) { Calendar c = Calendar.getInstance(); System.out.println(c.get(Calendar.MONTH));//今天7月14,但这里会输出是6, c.add(Calendar.DAY_OF_MONTH, 20); System.out.println(c.get(Calendar.MONTH));//加了20后,这里会输出是7 }}
------解决方案--------------------
------解决方案--------------------
打错了。应给为System.out.println(c.get(Calendar.DAY_OF_MONTH)+1);.