#0 Calendar and Date

charco·2021년 5월 15일
0

나도TIL

목록 보기
1/55
post-custom-banner

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
아직 배우는 중입니다
post-custom-banner

0개의 댓글