我试图简单地添加一个n-数字到当前日期使用:
Calendar calendar = Calendar.getInstance(); // today 12.05.2014
calendar.add(Calendar.DAY_OF_MONTH, 2); // expected 14.05.2014 --> returns 01.06.2014
不幸的是,它没有返回预期的日期。
使用calendar.add(Calendar.DAY_OF_MONTH, 0);
返回当前日期。现在我完全糊涂了。我疏忽了什么吗?
这是我的日志:
java.util.GregorianCalendar[time=1401469591003,areFieldsSet=true,lenient=true,
zone=Europe/Berlin,firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,
**YEAR=2014,**
**MONTH=4,**
WEEK_OF_YEAR=22,
WEEK_OF_MONTH=5,
**DAY_OF_MONTH=30,** // I would initially expect 12
DAY_OF_YEAR=150,
DAY_OF_WEEK=6,
DAY_OF_WEEK_IN_MONTH=5,
AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=6,SECOND=31,MILLISECOND=3,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
java.util.GregorianCalendar[time=1401642391003,areFieldsSet=true,lenient=true,
zone=Europe/Berlin,firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,
**YEAR=2014,**
**MONTH=5,**
WEEK_OF_YEAR=22,
WEEK_OF_MONTH=1,
**DAY_OF_MONTH=1,**
DAY_OF_YEAR=152,
DAY_OF_WEEK=1,
DAY_OF_WEEK_IN_MONTH=1,
AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=6,SECOND=31,MILLISECOND=3,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
发现错误:我创建了一个日历对象:
Calendar calendar = Calendar.getInstance();
我想在for语句中多次添加(add())一个新的日期
Calendar calendar = Calendar.getInstance();
for (int i = 0; i < 100; i++) {
calendar.add(Calendar.DATE, i);
在这条语句中,我添加了一个新的日期(calendar.add(I)),这不起作用。在将构造函数移到for语句中之后,现在所有的计算都是正确的。
for (int i = 0; i < 100; i++) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, i);
我真的不明白这个行为-但它工作。
尝试使用这个添加(日历)。