반응형
해당 강의를 듣고 정리한 것입니다
https://programmers.co.kr/learn/courses/9
Date
: 날짜와 시간을 구하기 위한 클래스 Date클래스(JDK 1.0에 생성), Calendar클래스(JDK 1.1에 생성)
- Date는 지역화에 대한 부분이 고려되지 않음.
- 지역에 따라서 시간, 통화(원, 달러, 엔 등), 언어 등에 대해 고려하는 프로그래밍을 지역화에 맞춘 프로그램ㅇ이라 고함. - 대부분의 생성자와 메서드가 Deprecated되어 있다.
- Deprecated : 앞으로 지원하지 않거나 문제가 있을 수 있으니 사용하지 말라는 뜻. - 기본 생성자를 이용한 Date클래스 생성
- 기본 생성자로 Date인스턴스를 만들게 되면 현재 시간과 날짜 정보를 Date인스턴스가 가지게 됨.
Date date = new Date();
- toString() 메서드를 이용하면 현재 시간을 문자열로 구합니다.
결과 : Mon Jan 17 16:11:01 KST 2022
System.out.println(date.toString());
- java.util.SimpleDateFormat 클래스를 이용해서 원하는 형태로 출력
- yyyy, MM, dd : 년, 월, 일 표시( 월은 무조건 MM 대문자로 해야 함)
- hh, mm, ss : 시, 분, 초 표시
- a : 오전/오후 표시
- zzz : TimeZone 표시. 한국의 경우 KST
SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd 'at' hh:mm:ss a");
System.out.println(ft.format(date));
- 현재시간을 Long으로 구하기
-date.getTime() 혹은 System클래스의 currentTimeMillis() 사용
System.out.println(date.getTime());
long today = System.currentTimeMillis();
System.out.println(today);
Canlendar
: date의 단점을 해결하고 등장한 것이 Calendar클래스
- Calendar 클래스 생성 방법
- Calendar클래스는 추상 클래스
- 때문에 인스턴스 생성 시 Calendar가 가지고 있는 클래스 메서드 getInstance()를 사용해야 함.
- getInstance() 메서드를 호출하면 내부적으로 java.util.GregorianCalendar 인스턴스를 생성해 리턴
- GregorianCalendar는 Calendar의 자식 클래스
Calendar cal = Calendar.getInstance();
- Calendar클래스를 이용해 현재 날짜와 시간에 대한 정보 알아내기
- Calendar는 현재 날짜와 시간에 대한 정보를 가짐
- Calendar가 가지고 있는 get메서드에 Calendar의 상수를 어떤 것을 넣어주냐에 따라 다른 값이 나옴!!
System.out.println(cal.get(Calendar.MONTH)+1); //0부터 시작하기때문에 +1을 해주어야함
System.out.println(cal.get(Calendar.DATE)); //날짜
System.out.println(cal.get(Calendar.HOUR)); //시간, 12시간으로 표현
System.out.println(cal.get(Calendar.HOUR_OF_DAY)); //시간, 24시간으로 표현
System.out.println(cal.get(Calendar.MINUTE)); //분
- Calendar 클래스를 이용해 원하는 날짜나 시간에 대한 정보 얻어오기
- Calendar가 가지고 있는 add메서드를 이용해 쉽게 다음 날짜나 이전 날짜 구하기 가능
- 현재 칼랜더에 시간을 더하는 방법. 음수는 이전을 뜻함.
//현재로부터 5시간 이전 cal.add(Calendar.HOUR, -5); System.out.println(cal.get(Calendar.MONTH)+1); //0부터 시작하기때문에 +1을 해주어야함 System.out.println(cal.get(Calendar.DATE)); //날짜 System.out.println(cal.get(Calendar.HOUR)); //시간, 12시간으로 표현 System.out.println(cal.get(Calendar.HOUR_OF_DAY)); //시간, 24시간으로 표현 System.out.println(cal.get(Calendar.MINUTE)); //분
반응형
'Language > Java' 카테고리의 다른 글
자바 중급13 - 자바IO (0) | 2022.01.18 |
---|---|
자바 중급12 - time패키지 (0) | 2022.01.17 |
자바 중급10 - Map (0) | 2022.01.17 |
자바 중급9 - List (0) | 2022.01.17 |
자바 중급8 - Set (0) | 2022.01.17 |