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
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[SQL] SELECT 실습 (19일차) (0) | 2023.06.12 |
---|---|
[JAVA] 시간 게임 (0) | 2023.06.10 |
[JAVA] Collections 클래스 문제 (18일차) (0) | 2023.06.09 |
[JAVA] Iterator 심화 문제 풀이 (17일차) (0) | 2023.06.08 |
[JAVA] 해시맵 심화 문제 풀이 (17일차) (0) | 2023.06.08 |