Part4 날짜와 시간
Date
날짜와 시간을 구하기 위한 클래스 Date 클래스
- Date 클래스는 JDK 1.0때 만들어졌고, Calendar 클래스는 JDK1.1에 만들어졌따.
- Date는 지역화에 대한 부분이 고려되지 않았다.
- 지역화란, 지역에 따라서 시간, 통화(원, 달러, 엔 등) 언어등에 고려하는 프로그래밍을 지역화에 맞춘 프로그래밍이라고 한다.
- Date 클래스를 보면 대부분의 생성자와 메소드가 Deprecated 되어 있다.
- Deprecated된 것은 앞으로 지원을 안하거나 문제가 있을 수 있으니 사용하지 말란 뜻이다.
- 기본 생성자를 이용한 Date 클래스 생성
- 기본 생성자로 Date인스턴스를 만들게 되면 현재 시간과 날짜 정보를 Date인스턴스가 가지게 된다
- toString() 메소드를 이용하여 현재 시간을 문자열로 구한다.
- 출력 결과 : Wed Jan 06 18:36:56 KST2016
- java.util.SimpleDateFormat 클래스를 이용해서 원하는 형태로 출력하는 방법
- yyyy는 년, MM은 월, dd는 일을 표현
- hh는 시간, mm은 분, ss는 초를 표현하며 a는 오전/오후를 표현한다.
- zzz는 TimeZone을 나타낸다. 한국의 겨우 한국ㅁ표준시 KST가 TimeZone에 해당하는 값이다.
- 현재 시간을 Long값으로 구하는 방법
Calendar
Date의 단점을 해결하고 등장한 것이 Calendar 클래스
- Calendar 클래스 생성 방법
- Calendar 클래스는 추상클래스이다.
- Calendar 클래스에 대한 인스턴스를 생성하려면 Calendar가 가지고 있는 클래스 메소드 getInstance()를 사용해야 한다.
- getInstance() 메소드를 호출하면 내부적으로 java.util.GregorianCalendar 인스턴스를 만들어서 리턴한다.
- GregorianCalendar는 Calendar의 자식 클래스다.
- Calendar 클래스를 이용해서 현재 날짜와 시간에 대한 정보를 알아내는 방법
- Calendar는 현재 날짜와 시간에 대한 정보를 가진다.
- Calendar가 가지고 있는 get메소드에 Calendar의 상수를 어떤 것을 넣어주느냐에 따라서 다른 값이 나온다.
- Calendar 클래스를 이용해서 원하는 날짜나 시간에 대한 정보 얻어오는 방법
- Calendar가 가지고 있는 add 메소드를 이용하면 쉽게 다음 날짜나 이전 날짜를 구할 수 있다.
- 현재 캘린더에 시간을 5시간 더하는 방법.
java.time 패키지
Java에서 제공하는 ㅇate, Time API는 부족한 기능 지원을 포함한 여러가지 문제점을 가지고 있었다. JDK 코어에서 이런 문제점들을 해결하고 더 좋고 직관적인 API들을 제공하기 위해 새롭게 재 디자인한 date, Time API를 Java SE 8 부터 제공한다.
- 새로운 API의 핵심 클래스는 오브젝트를 생성하기 위해 다양한 factory 메서드를 사용
- 오브젝트 자기 자신의 특정 요소를 가지고 오브젝트를 생성할 경우 of 메서드를 호출하면 되고, 다른 타입으로 변경할 경우에는 from 메서드를 호출하면 된다.
- LocalDateTime 클래스를 이용해서 현재 시간 time 객체 만드는 방법
- now는 현재 시간을 구한다.
- 원하는 시간으로 time 객체 생성하는 방법
- 현재와 날짜와 시간정보를 getter 메소드를 이용하여 구하는 방법
댓글남기기