1. calendar.add(Calendar.DATE, 7); 을 입력하면 캘린더 날짜에 7일을 더할 수 있다.
2. 날짜를 출력하려면 calendar.get 메소드로 일일이 연도, 월, 일을 구해줘야 하는 것 같다. 참 번거롭다.
3. get 메소드로 MONTH를 받아올 땐 1월이 0, 2월이 1, 3월이 2...에 대응되므로, 날짜 출력 시에 1을 더해줘야 한다.
import java.util.Calendar;
public class tmp1 {
private static void f(Calendar c){
System.out.println(c);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day_of_month = c.get(Calendar.DAY_OF_MONTH);
System.out.printf("%04d-%02d-%02d\r\n\r\n",year,month,day_of_month);
}
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
f(c);
c.add(Calendar.DATE, 7);
f(c);
c.add(Calendar.DATE, 7);
f(c);
c.add(Calendar.DATE, 7);
f(c);
c.add(Calendar.DATE, 7);
f(c);
}
}
출력:
java.util.GregorianCalendar[time=1759939981286,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2025,MONTH=9,WEEK_OF_YEAR=41,WEEK_OF_MONTH=2,DAY_OF_MONTH=9,DAY_OF_YEAR=282,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=1,HOUR_OF_DAY=1,MINUTE=13,SECOND=1,MILLISECOND=286,ZONE_OFFSET=32400000,DST_OFFSET=0]
2025-10-09
java.util.GregorianCalendar[time=1760544781286,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2025,MONTH=9,WEEK_OF_YEAR=42,WEEK_OF_MONTH=3,DAY_OF_MONTH=16,DAY_OF_YEAR=289,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=1,HOUR_OF_DAY=1,MINUTE=13,SECOND=1,MILLISECOND=286,ZONE_OFFSET=32400000,DST_OFFSET=0]
2025-10-16
java.util.GregorianCalendar[time=1761149581286,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2025,MONTH=9,WEEK_OF_YEAR=43,WEEK_OF_MONTH=4,DAY_OF_MONTH=23,DAY_OF_YEAR=296,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=1,HOUR_OF_DAY=1,MINUTE=13,SECOND=1,MILLISECOND=286,ZONE_OFFSET=32400000,DST_OFFSET=0]
2025-10-23
java.util.GregorianCalendar[time=1761754381286,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2025,MONTH=9,WEEK_OF_YEAR=44,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=303,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=1,HOUR_OF_DAY=1,MINUTE=13,SECOND=1,MILLISECOND=286,ZONE_OFFSET=32400000,DST_OFFSET=0]
2025-10-30
java.util.GregorianCalendar[time=1762359181286,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2025,MONTH=10,WEEK_OF_YEAR=45,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR=310,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=1,HOUR_OF_DAY=1,MINUTE=13,SECOND=1,MILLISECOND=286,ZONE_OFFSET=32400000,DST_OFFSET=0]
2025-11-06