#0 Calendar and Date

charco·2021년 5월 15일
0

나도TIL

목록 보기
1/55

TIL 1일차
알바 끝나고 빈둥대다가
미래가 어두워지는게 느껴져 조금이라도 공부를 해야겠다는 생각이 들었다.

Calendar

자바에는 원래 날짜와 시간을 위한 Date 클래스만 있었다.
그러나 기능의 한계때문에 Calendar라는 클래스를 새로 추가했다.
Calendar 도 단점이 많기 때문에 현시점엔 LocalDate 클래스를 쓰는게 좋다.

GregorianCalendar 와 BuddhistCalendar

Calendar는 추상클래스다. 그래서

Calender calendar = Calendar.getInstance();

이렇게 구현클래스로 인스턴스를 생성해야한다.
구현클래스엔 전세계에서 흔히 사용하는 형식을 위한
GregorianCalendar, 태국에만 적용되는 BuddhistCalendar가 있다.
static 메서드인 getInstance()를 호출하면
알아서 시스템의 지역에 따라 태국이면 BuddhistCalendar, 그 외는
GregorianCalendar를 인스턴스로 생성해준다.
시스템의 현재 시간에 대한 필드를 담은 인스턴스를

Calendar와 Date간 변환

Calendar를 Date로 변환할땐

Calendar calendar = Calendar.getInstance();
Date date = new Date(calendar.getTimeInMillis());

Date를 Calendar로 변환

Date date = new Date();
Calendar calendar =Calendar.getInstance();
calendar.setTime(date);

년/월/일/시간/초 출력하기

Calendar에는
YEAR, MONTH, DATE, HOUR_OF_DATE, SECOND
등의 정수형 스태틱 필드들이 정의되어 있다.

이 필드들을 이용해 add() 메서드로 시간 정보를 가져올 수 있다.

public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        long year = calendar.get(Calendar.YEAR); //Calendar의 static 변수를 이용한다.
        long month = calendar.get(Calendar.MONTH);
        long date = calendar.get(Calendar.DATE);
        long hour = calendar.get(Calendar.HOUR_OF_DAY);
        long second = calendar.get(Calendar.SECOND);

        System.out.println("지금은 " + year + " 년 " + month + " 월 " + date + " 일 "
            + hour + " 시 " + second + " 초 입니다." );
        //결과: 오늘은 2021 년 4 월 15 일 21 시 20 초 입니다.
    }

메서드

더 쓰기 귀찮다
아래 링크를 참고하자
https://www.javatpoint.com/java-util-calendar

사실 저녁먹고 더 공부를 할 수 있었는데
자기합리화 + 보상심리가 강하게 작용해서
그렇게 못했다.

해결하자

profile
아직 배우는 중입니다

0개의 댓글