본문 바로가기

Programming/Java

Calendar class 활용하기

		Calendar cal = Calendar.getInstance();

		// 취득 오늘날짜
		int year = cal.get(Calendar.YEAR);
		int month = cal.get(Calendar.MONTH) + 1;	// 0 ~ 11
		int day = cal.get(Calendar.DATE);
		
		System.out.println(year + "년 " + month + "월 " + day + "일");
		/*
		cal.set(Calendar.YEAR, 2019);
		cal.set(Calendar.MONTH, Calendar.JANUARY);
		cal.set(Calendar.DATE, 15);
	
		year = cal.get(Calendar.YEAR);
		month = cal.get(Calendar.MONTH) + 1;	// 0 ~ 11
		day = cal.get(Calendar.DATE);
		
		System.out.println(year + "년 " + month + "월 " + day + "일");
		*/
		
		String ampm = cal.get(Calendar.AM_PM)==0?"오전":"오후";	//0이면 오전 1이면 오후

		System.out.println("ampm = " + ampm);
		
		// 요일
		int weekday = cal.get(Calendar.DAY_OF_WEEK);		//1 ~ 7 일월화수목금토
		System.out.println("weekday = " + weekday);
		
		
		// 지정한 날의 마지막 날짜 취득  28 29 30 31
		
		cal.set(Calendar.MONTH, 4 - 1);
		
		int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println("lastDay = " + lastDay);
		
		// 연월일을 설정하면, 달력의 빈칸이 몇개 있는지 취득
		year = 2019;
		month = 7;
		day = 1;
		
		cal.set(Calendar.YEAR, year);
		cal.set(Calendar.MONTH, month-1);
		cal.set(Calendar.DATE, day);
		
		weekday = cal.get(Calendar.DAY_OF_WEEK);	//요일
		
		// 위쪽 빈칸 수
		int upEmpty = (weekday - 1) % 7;
		System.out.println("위쪽의 빈칸은 " + upEmpty+"입니다");
		
		// 마지막 일자
		lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println("lastDay = " + lastDay);
		
		// 밑쪽 빈칸을 구하기 위해서
		day = lastDay;
		cal.set(Calendar.DATE, day);
		
		// 요일을 다시 구한다
		weekday = cal.get(Calendar.DAY_OF_WEEK);
		
		// 밑쪽 빈칸 수 
		int downEmpty = 7 - weekday;
		System.out.println("밑쪽의 빈칸은 " + downEmpty + "입니다");

Calendar 클래스는 추상클래스라서 


Calendar cal = new Calendar(); 이런식으로 사용 불가능함.

Calendar cal = new GregorianCalendar();

혹은, 위에 기술한 방법대로 사용을 한다. 


별다른 설정없이 생성을 하면 본인 컴퓨터기준의 현재 시간정보가 저장되는듯 하다.


월은 0~11까지 사용 , 즉 +1 해줘야함.