지난 시간에 git공부한 거 토대로 싹 브랜치 정리하고, 나아가 untracked되어야 할 파일이랑 폴더도 추가함.
이것때문에 IDE 모듈상의 오류 때문에 상당한 분노가 생김.
날짜 시간도 공부해야겠다
과제에서 처음 들어보는 개념으로 시간과 날짜에 대한 공부 필요성을 느꼈다.
오후시간에 여유가 있어 수정도 할 겸, 찬찬히 훑어보는 시간을 가졌다.
아래와 같이 나누어 알아보자.
1. Calendar, Date
2. SimpleDateFormat
1. Calendar, Date
Calendar, Date 이 두 클래스는 자바의 초기 1.0 1.1버젼에서부터 시작된 클래스라고 한다.
자바의 정석 교재에서도 설명만하고 알아만 두면 좋다고 하고 넘어간다.
Calnedar
Calendar cal = new Calendar(); // 에러! Calendar는 추상클래스이고, 객체를 생성 못한다.
Calendar cal = Calendar.getInstance(); //Calendar를 구현한 클래스의 인스턴스를 반환.
calendar는 추상클래이다. 그래서 객체를 생성할 수 없다.
getInstance()을 통해 객체를 생성해야 하는데, 메소드를 보면 자동으로 지역을 기반으로 한 Calendar를 생성해주는 메소드를 통해 리턴을 해주고 있다.
아래는 참고로, cal을 그냥 출력해봤다.
아까 cal을 그냥 출력했을 때 본 배열이 fields 배열같아서 toString을 검색했는데 맞는 것 같다.
GregorianCalendar에 fields를 못 찾겠다. 공식문서 탐험은 이 쯤에서 유보해야 겠다.
cal.get() 이나 cal.set(), cal.add()정도로 활용하는 것이 기본적인 기능들이다.
Date
Date는 Calendar가 나오면서 사장되다시피 했다고 한다. deprecated.
하지만, 꼭 필요한 메소드가 있을 경우를 위해 변환하는 형태만 알아두자.
Calendar cal2 = Calendar.getInstance();
Date date2 = new Date(cal2.getTimeInMillis()); //Cal을 Date로 변환
Date date3 = new Date();
Calendar cal3 = Calendar.getInstance();
cal.setTime(date3); //Date를 Cal로 변환
2. SimpleDateFormat
: Calendar, Date클래스만으로 날짜 시간을 표현하기에 복잡하므로, SimpleDateFormat을 내일 이어서 배워보자.
'Back-End > Java' 카테고리의 다른 글
TIL 230614 : 실행은 같아도 코드는 다르다. (0) | 2023.06.19 |
---|---|
TIL 230612 : 날짜 시간 데이터와 인사하기. (2. SimpleDateFormat) (0) | 2023.06.12 |
TIL 230607 : ArrayList와 List 사이. (feat. 업캐스팅, 다운캐스팅) (0) | 2023.06.07 |
TIL 230605 : Stringbuilder랑 가까워지기. (0) | 2023.06.06 |
TIL 230602 : 튜터님의 코드와 비교해보는 코드리뷰 (키오스크 주문 프로그램) (0) | 2023.06.04 |