java.util은 프로그램 개발에서 자주 사용되는 자료구조일 뿐만 아니라, 날짜 정보, 유용한 API를 포함하고 있다.
클래스 | 용도 |
---|---|
Date | 날짜와 시간 정보를 저장하는 클래스 |
Calendar | 운영체제의 날짜와 시간을 얻을 때 사용 |
특정 시점의 날짜를 표현하는 클래스이다. Date 객체 안에는 특정 시점의 연도, 월, 일, 시간 정보가 저장된다.
Date now = new Date;
Date 객체의 toString() 메소드는 영문으로 된 날짜를 리턴하기 때문에 원하는 날짜 형식의 문자열을 얻고 싶다면 java.text 패키지의 SimpleDateFormat 클래스와 함께 사용하는 것이 좋다.
SimpleDAteFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 ss초");
SimpleDateFormat 객체를 얻었다면 format() 메소드 호출해서 원하는 형식의 날짜 정보를 얻을 수 있다.format() 메소드의 매개값은 Date 객체이다.
String strNow = sdf.format(now);
달력을 표현한 클래스이다. 해당 운영체제의 Calendar 객체를 얻으면 연도, 월, 일, 요일, 오전/오후, 시간 정보를 얻을 수 있다.
Calendar 클래스는 추상 클래스이므로 new 연산자를 사용해서 인스턴스를 생성할 수 없다.
정적 메소드인 getInstance() 메소드를 이용하면 현재 운영체제에 설정되어 있는 시간대를 기준으로 Calendar 하위 객체를 얻을 수 있다.
Calendar now = Calendar.getInstance();
Calendar 객체를 얻었다면 get() 메소드를 이용해서 날짜와 시간에 대한 정보를 읽을 수 있다.
int year = new.get(Calendar.YEAR); // 연도 리턴
int month = new.get(Calendar.MONTH) + 1; // 월 리턴
int day = new.get(Calendar.DAY_OF_MONTH); // 일 리턴
int week = new.get(Calendar.DAY_OF_WEEK); // 요일 리턴
int amPm = new.get(Calendar.AM_PM); // 오전/오후 리턴
int hour = new.get(Calendar.HOUR); // 시 리턴
int minute = new.get(Calendar.MINUTE); // 분 리턴
int second = new.get(Calendar.SECOND); // 초 리턴
get() 메소드를 호출할 때 사용한 매개값은 모두 Calendar 클래스에 선언되어 있는 상수들이다.