Calendar 클래스
- java.util 패키지의 추상클래스
- 시간과 날짜 정보 관리

Calendar 객체 생성 - 현재 날짜와 시간
Calendar now = Calendar.getInstance();
- Calendar 클래스는 추상 클래스이므로 new Calendar() 사용하지 않고 getInstance() 메소드 사용
날짜와 시간 알아내기
int year = new.get(Calendar.YEAR); //현재 연도
int month = now.get(Calendar.MONTH)+1; //현재 달
- 날짜와 시간을 알아내기 위해 get() 메소드에 필드 사용(위의 표 참고)
- get(Calendar.MONTH)는 n월달일 때 n-1을 리턴하므로 1을 더함
날짜와 시간 설정하기
Calendar firstDate = Calendar.getInstance();
firstDate.clear(); //현재 날짜와 시간 정보 삭제
firstDate.set(2016, 11, 25); //2016년 12월 15일로 설정(12월은 11)
firstDate.set(Calendar.HOUR_OF_DAY, 20); //저녁 8시로 설정
firstDate.set(Calendar.MINIUTE, 30); //30분으로 설정
- Calendar 객체에 날짜와 시간을 저장한다고 컴퓨터의 날짜와 시간을 바꾸지는 않음
예제 6-11 Calendar를 활용하여 현재 날짜와 시간을 알아내고 개발자가 저장하고자 하는 날짜와 시간 기억
import java.util.Calendar;
public class CalendarEx {
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);
int hour=cal.get(Calendar.HOUR);
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;
}
if(ampm==Calendar.AM) System.out.print(" 오전 ");
else System.out.print(" 오후 ");
System.out.print(hour+"시");
System.out.print("("+hourOfDay+"시)");
System.out.print(" "+minute+"분");
System.out.print(" "+second+"초");
System.out.println(" "+millisecond+"밀리초 ");
}
public static void main(String[] args) {
Calendar now=Calendar.getInstance();
printCalendar("현재 ", now);
Calendar firstDate=Calendar.getInstance();
firstDate.clear();
firstDate.set(2016, 11, 25); //11월로 저장했으므로 12월
firstDate.set(Calendar.HOUR_OF_DAY, 20); //20시
firstDate.set(Calendar.MINUTE, 30); //30분
printCalendar("처음 데이트한 날은 ", firstDate);
}
}

'java > 개념' 카테고리의 다른 글
Vector<E> (0) | 2024.06.08 |
---|---|
컬렉션과 제네릭 (0) | 2024.06.08 |
Math 클래스 (0) | 2024.06.07 |
StringTokenizer 클래스 (0) | 2024.06.07 |
StringBuffer 클래스 (0) | 2024.06.07 |