728x90
반응형

문제1. Calendar 클래스를 이용해 현재 날짜를 출력

▶ 코드

		//Calendar 객체 생성
		Calendar now = Calendar.getInstance();
		int year = now.get(Calendar.YEAR); //now에 저장된 년도
		int month = now.get(Calendar.MONTH) + 1; //now에 저장된 달. 0부터 시작하기 때문에 +1
		int day = now.get(Calendar.DAY_OF_MONTH); //now에 저장된 일 

		System.out.println(year+"년 "+month+"월 "+day+"일 수업");

 

▶ 출력 결과

2023년 6월 9일 수업

 

 

 

문제2. 시간에 따라 다른 문구 출력

▶ 코드

	static void goodPrint(Calendar c){
		int hour = c.get(Calendar.HOUR_OF_DAY);

		if(hour>=4 && hour<12)
			System.out.println("Good Moring");
		else if(hour<18)
			System.out.println("Good Afternoon");
		else if(hour<22)
			System.out.println("Good Evening");
		else
			System.out.println("Good Night");
	}
	
	public static void main(String[] args) {
		Calendar now = Calendar.getInstance();

		now.clear();
		now.set(Calendar.HOUR_OF_DAY, 4);
		goodPrint(now);
		
		now.clear();
		now.set(Calendar.HOUR_OF_DAY, 12);
		goodPrint(now);
		
		now.clear();
		now.set(Calendar.HOUR_OF_DAY, 18);
		goodPrint(now);
		
		now.clear();
		now.set(Calendar.HOUR_OF_DAY,22);
		goodPrint(now);
	}

 

▶ 출력 결과

Good Moring
Good Afternoon
Good Evening
Good Night

 

 

 

참고 예제. 현재 시간과 저장한 시간 출력

▶ 코드

	public static void printCalendar(String msg, Calendar cal) {
		int year = cal.get(Calendar.YEAR);
		int month = cal.get(Calendar.MONTH) + 1;
		int day = cal.get(Calendar.DAY_OF_MONTH);
		int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); //일~토(1~7)
		int hour = cal.get(Calendar.HOUR); //12시간 기준
		int hourOfDay = cal.get(Calendar.HOUR_OF_DAY);
		int ampm = cal.get(Calendar.AM_PM);
		int minute = cal.get(Calendar.MINUTE);
		int second = cal.get(Calendar.SECOND);
		
		int millisecond = cal.get(Calendar.MILLISECOND);
		System.out.print(msg + year + "/" + month + "/" + day + "/");
		switch(dayOfWeek) {
		case Calendar.SUNDAY : System.out.print("일요일"); break;
		case Calendar.MONDAY : System.out.print("월요일"); break; 
		case Calendar.TUESDAY : System.out.print("화요일"); break;
		case Calendar.WEDNESDAY : System.out.print("수요일"); break;
		case Calendar.THURSDAY : System.out.print("목요일"); break;
		case Calendar.FRIDAY: System.out.print("금요일"); break;
		case Calendar.SATURDAY : System.out.print("토요일"); break;
		}
		System.out.print("(" + hourOfDay + "시)");
		if(ampm == Calendar.AM) System.out.print("오전");
		else System.out.print("오후");
		System.out.println(hour + "시 " + minute + "분 " + second + "초 "+ millisecond +"밀리초");
	}

	public static void main(String[] args) {
		Calendar now = Calendar.getInstance();
		printCalendar("현재 ", now);
		Calendar firstDate = Calendar.getInstance();
		firstDate.clear();
		// 2016년 12월 25일. 12월을 표현하기 위해 month에 11로 설정
		firstDate.set(2016, 11, 25); 
		firstDate.set(Calendar.HOUR_OF_DAY, 20); // 저녁 8시
		firstDate.set(Calendar.MINUTE, 30); // 30분
		printCalendar("처음 데이트한 날은 ", firstDate);
	}

※ 어떤 값이 들어갔는지에 따라 다르게 출력 된다.

 

 

▶ 출력 결과

현재 2023/6/9/금요일(15시)오후3시 54분 49초 611밀리초
처음 데이트한 날은 2016/12/25/일요일(20시)오후8시 30분 0초 0밀리초

 

728x90
반응형

+ Recent posts