안녕하세요. 제임스 입니다.
이번에는 자바 Calendar 클래스를 이용하여 오늘 날짜, 요일 및 시간을 구하는 방법에 대해 알아 보겠습니다.
import java.util.Calendar;
Calendar cal = Calendar.getInstance();
System.out.println(cal);
위와 같이 Calendar 객체의 getInstance() 만 해도 아래와 같이 현재 날짜 정보를 가져 올 수 있습니다.
java.util.GregorianCalendar[time=1514906028783,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=22,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=3,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=13,SECOND=48,MILLISECOND=783,ZONE_OFFSET=32400000,DST_OFFSET=0]
위 결과 중 우리가 일반적으로 필요로 하는 부분을 붉은 색으로 표기 했습니다.
key = value 조합으로 나오는 것을 확인하실수 있습니다.
여기서 key 로 나오는 값이 우리가 Calendar 객체에서 가져올 상수 값입니다.
즉, 아래와 같이 사용 가능합니다.
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
Calender.MONTH 값은 0 ~ 11 까지 존재 하며 각각의 값이 1월 부터 12월을 의미 합니다. 즉, 현재 월을 구하기 위해서는 해당 값에 +1 을 해야 합니다.
Calendar.DAY_OF_WEEK 는 요일을 의미하며 1 ~ 7 까지의 값을 리턴하며 각각은 일, 월 ~ 금, 토 요일을 의미 합니다.
이는 아래와 같이 한글 요일값으로 변경 가능합니다. 물론 영문 요일값으로 변경하셔도 됩니다.
String korDayOfWeek = "";
switch (dayOfWeek) {
case 1:
korDayOfWeek = "일";
break;
case 2:
korDayOfWeek = "월";
break;
case 3:
korDayOfWeek = "화";
break;
case 4:
korDayOfWeek = "수";
break;
case 5:
korDayOfWeek = "목";
break;
case 6:
korDayOfWeek = "금";
break;
case 7:
korDayOfWeek = "토";
break;
}
위 코드를 아래와 같이 프린트 해보겠습니다.
System.out.println("년도: "+year+"\n월: "+month+"\n일: "+
date+"\n요일: "+dayOfWeek+"("+korDayOfWeek+")"+
"\n시간 : "+hour+"\n분: "+minute+"\n초: "+second);
년도: 2018
월: 1
일: 3
요일: 4(수)
시간 : 0
분: 13
초: 48
이를 일반적인 시간 표현 방식으로 변경해보겠습니다.
System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);
2018.1.3(수) 0:13:48
자바 Calendar 객체를 이용하여 현재 날짜, 요일 및 시간 구하는 방법을 간단히 알아 봤습니다.
아래는 전체 코드 입니다.
Calendar cal = Calendar.getInstance();
System.out.println(cal);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int date = cal.get(Calendar.DATE);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String korDayOfWeek = "";
switch (dayOfWeek) {
case 1:
korDayOfWeek = "일";
break;
case 2:
korDayOfWeek = "월";
break;
case 3:
korDayOfWeek = "화";
break;
case 4:
korDayOfWeek = "수";
break;
case 5:
korDayOfWeek = "목";
break;
case 6:
korDayOfWeek = "금";
break;
case 7:
korDayOfWeek = "토";
break;
}
System.out.println("년도: "+year+"\n월: "+month+"\n일: "+
date+"\n요일: "+dayOfWeek+"("+korDayOfWeek+")"+
"\n시간 : "+hour+"\n분: "+minute+"\n초: "+second);
System.out.println(year+"."+month+"."+date+"("+korDayOfWeek+") "+hour+":"+minute+":"+second);
Calendar 객체에 대해서는 아래 API 링크 참조 하시면 좀더 많은 정보를 접하실수 있습니다.
https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html
▼ 도움이 되셨다면 로그인이 필요 없는 ▼
▼ 하트 클릭 한번 부탁 드립니다 ▼
감사합니다 :D
'Java' 카테고리의 다른 글
[ 자바 코딩 ] GregorianCalendar 을 이용하여 원하는 날짜, 시간 정보 셋팅하기 (513) | 2018.01.08 |
---|---|
[ 자바 코딩 ] Calendar 에 원하는 날짜, 시간 정보 셋팅하기 (515) | 2018.01.04 |
[ 자바 코딩 ] valueOf vs parseInt (9) | 2017.12.15 |
[ 자바 코딩 ] 자바 == vs equals (5) | 2017.12.04 |
[ 자바 코딩 ] toLowerCase(), toUpperCase(), trim() (6) | 2017.11.24 |