본문 바로가기
자바(Java)

자바 중급11 - Date, Calendar클래스

by codeyaki 2022. 1. 17.
반응형

해당 강의를 듣고 정리한 것입니다

https://programmers.co.kr/learn/courses/9

 

자바 중급

평가 5.0 17개의 평가 ★★★★★17 ★★★★0 ★★★0 ★★0 ★0 ds02168 2021.08.20 15:37 Yeonggwang 2021.06.28 01:48 강신우 2021.04.23 10:20 HyeonWoo Jeong 2021.04.08 17:12 이용준 2021.01.26 19:23 리뷰 더보기

programmers.co.kr


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));	//분​

 

반응형

'자바(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