TIL 1일차
알바 끝나고 빈둥대다가
미래가 어두워지는게 느껴져 조금이라도 공부를 해야겠다는 생각이 들었다.
자바에는 원래 날짜와 시간을 위한 Date 클래스만 있었다.
그러나 기능의 한계때문에 Calendar라는 클래스를 새로 추가했다.
Calendar 도 단점이 많기 때문에 현시점엔 LocalDate 클래스를 쓰는게 좋다.
Calendar는 추상클래스다. 그래서
Calender calendar = Calendar.getInstance();
이렇게 구현클래스로 인스턴스를 생성해야한다.
구현클래스엔 전세계에서 흔히 사용하는 형식을 위한
GregorianCalendar, 태국에만 적용되는 BuddhistCalendar가 있다.
static 메서드인 getInstance()를 호출하면
알아서 시스템의 지역에 따라 태국이면 BuddhistCalendar, 그 외는
GregorianCalendar를 인스턴스로 생성해준다.
시스템의 현재 시간에 대한 필드를 담은 인스턴스를
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
사실 저녁먹고 더 공부를 할 수 있었는데
자기합리화 + 보상심리가 강하게 작용해서
그렇게 못했다.
해결하자