Date
클래스의 생성자를 인수 없이 호출하면 현재 일시를 가진 Date
인스턴스가 생성된다. 또한, Calendar#getInstance()
메서드로 현재 일시의 달력을 생성하고 캘린더에서 Date
인스턴스를 구할 수 있다.
// 실행한 순간의 일시가 생성된다.
Date date1 = new Date();
// 현재 일시를 나타낸는 캘린더에서 Date 인스턴스를 생성
Calendar calendar = Calendar.getInstance();
Date date2 = calendar.getTime();
Calendar#getInstance()
메서드의 인수에는 TimzeZone
을 지정할 수 있다. TimeZone
은 세계의 시차를 나타내는 것으로 한국의 경우 Asia/Seoul
이다. 기본으로 운영체제의 타임존이 설정된다.
// 디폴트 타임존, 로케일 정보를 가진 캘린더 클래스의 생성
Calendar calendar1 = Calendar.getInstance();
// 로케일이 US인 캘린더 생성
Calendar calendar2 = Calendar.getInstance(Locale.US);
// 타임존이 미국 로스엔젤레스인 캘린더 생성
TimeZone timezone = TimeZone.getTimeZone("America/Los_Angeles");
Calendar calendar3 = Calendar.getInstance(timezone);
TimeZone
클래스의getAvailableDs()
라는 static 메서드를 사용하면 이용 간으한 타임존의 목록을 String 배열로 받을 수 있다.