국비 학원 Day 10 - 02 /Calendar Class

이상기·2023년 2월 3일

국비학원 - JAVA

목록 보기
21/23

Calendar 클래스

Calendar 클래스는 Date 클래스와 마찬가지로 날짜와 시간을 다루는 클래스입니다. Calendar 클래스가 추가되며 Date 대부분의 메소드는 잘 사용하지 않으나 경우에 따라 조금씩 사용하는 상황입니다. 이것은 추상 클래스이기 때문에 직접 new 하여 객체 생성이 불가하고 Calendar.getInstance() 메소드를 이용하여 참조변수에 해당 클래스를 담아서 사용하게 됩니다.

Calendar 클래스의 주요 상수


위의 상수들을 사용하여 현재의 시간, 날짜 등을 뽑아올 수 있게 됩니다.

Calendar 클래스의 주요 메소드

사용 예제

public class Main06 {
	public static void main(String[] args) {
		/*
		 * 2023년 2월달 달력을 만드시오
		 */
		Calendar cal = Calendar.getInstance();
		int MaxDayNumber = cal.getActualMaximum(cal.DAY_OF_MONTH);
		int day_num = 0;
		cal.set(Calendar.DAY_OF_MONTH,1);
		int first_day = cal.get(Calendar.DAY_OF_WEEK);
		int MaxWeekNumber = cal.getActualMaximum(cal.WEEK_OF_MONTH);
		
		for (int i = 0 ; i < MaxWeekNumber ; i ++) {
			for (int j = 0 ; j < cal.DAY_OF_WEEK ; j++) {
				if (j == first_day-1 || day_num >= 1) {
					day_num++;
					System.out.printf("%2d \t", day_num);
				}else {
					System.out.print("\t");
				}
				if (day_num == MaxDayNumber) {
					break;
				}
			}
			System.out.println();
		}
	}
}

위의 메소드와 상수들을 사용하여서 조합하여 공백을 포함하는 2월달 달력을 제작 했습니다.

다음은 결과 입니다.

			 1 	 2 	 3 	 4 	
 5 	 6 	 7 	 8 	 9 	10 	11 	
12 	13 	14 	15 	16 	17 	18 	
19 	20 	21 	22 	23 	24 	25 	
26 	27 	28 	

카운트하는 변수가 시작날짜의 인덱스를 넘지 못하면 탭을 출력하게 하여서 처음 공간을 해결했습니다.

profile
DBA가 되고싶은 사람입니다

0개의 댓글