Calendar와 Date

2022. 1. 3. 17:41·자바/형식화 클래스들

1. Calendar와 GregorianCalendar

- Calendar는 추상클래스이기 때문에 직접 객체 생성이 안되고, 메서드를 통해 구현된 클래스의 인스턴스를

 얻는다.

(예): Calendar cal = Calendar.getInstance()

 

- GregorianCalendar는 태국을 제외한 나라들이 쓰는 클래스이다.

 

 

- 생성자를 구현하는 방식은 아래의 두 가지가 있다.

(1) Calendar cal = Calendar.getInstance()

(2) Calendar cal = new GregorianCalendar()

 

( 그러나 만일 (2)를 사용하는 도중 갑자기 새로운 Calendar 방식을 사용하거나 다른 인스턴스를 필요하다면, (2)를 쓴 해당 클래스를 다시 고쳐야 한다. )

( 그러나 (1) 사용 시, 변경할 필요가 없다. )

 

 

 

 

2. Date와 Calendar간의 변환

- Calendar가 등장하게 되면서 Date는 'deprecated' 되었다.

 

 

- 그러나 Date를 필요로 할 수 있으므로, 아래의 코드를 보자.

(1) Calendar -> Date

 

(2) Date -> Calendar

 

 

 

 

3. Calendar를 이해하기 위한 예제(1)

: 기본적으로 현재 날짜, 시간을 받아오는 예제이다.

 

( Calendar.MONTH는 0(1월) ~ 11(12월)을 반환한다. )

( Calendar.DAY_OF_WEEK는 1(일) ~ 7(토)을 반환한다. )

 

 

 

 

 

4. Calendar를 이해하기 위한 예제(2)

: 두 객체의 날짜를 설정하고 비교하는 예제이다.

 

 

 

 

 

5. Calendar를 이해하기 위한 예제(3)

: Calendar의 메서드를 이용해서 날짜를 수정하는 예제이다.

 

( roll은 add와 달리 자신이 지정한 필드 값만 바뀌고 다른 필드 값에 영향을 주지 않는 차이점이 있다. )

( 그러나, 예외가 존재하는데, 일 필드가 말일(end of month)일 때, month 필드 값을 건드리게 되면 date 필드 값에

영향을 줄 수 있다. ) 

(예): 1월 31일(1달 후) -> 2월 28일

 

 

 

 

6. Calendar를 이해하기 위한 예제(4)

: 해당 년도와 월을 입력하게 되면 달력이 나오게 하는 예제이다.

 

 

 

 

 

7. Calendar를 이해하기 위한 예제(5)

: 예제(5)에서 수정 및 추가한 달력 예제이다.

 

 

 

 

 

8. Calendar를 이해하기 위한 예제(6)

: 다양한 인자값을 이용하여 날짜를 변환하는 예제이다.

 

 

'자바 > 형식화 클래스들' 카테고리의 다른 글

형식화 클래스(2) - ChoiceFormat & MessageFormat  (0) 2022.01.04
형식화 클래스(1) - DecimalFormat & SimpleDateFormat  (0) 2022.01.04
'자바/형식화 클래스들' 카테고리의 다른 글
  • 형식화 클래스(2) - ChoiceFormat & MessageFormat
  • 형식화 클래스(1) - DecimalFormat & SimpleDateFormat
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      snail
      Collections Framework
      serializable
      ServerSocket
      유용한 클래스
      Arrays
      선택 정렬
      소켓 프로그래밍
      다형성
      문자 기반 스트림
      스트림
      제자리 정렬
      코딩트리조별과제
      java.lang패키지
      TCP 소켓 프로그래밍
      역직렬화
      불안정 정렬
      안정 정렬
      안드로이드 스튜디오
      자바 개념
      outputstream
      중간연산
      코드트리
      알고스팟
      람다식
      map()
      java.time 패키지
      InputStream
      코딩테스트
      file
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    Calendar와 Date
    상단으로

    티스토리툴바