< 날짜 / 시간 >
웹을 보면, 구매가 이루어진다던지, 글 등록을 완료한 시간이라던지, 로그인 한 시간이라던지,
당시의 날짜/시간을 가져와 저장해야하는 경우가 많다.
날짜/시간 클래스와 메소드는 아주 많이 사용하게 될 거라 생각이 든다.
< 1. Date > - 많이 안씀 ( deprecated )
Date d = new Date( ); 초창기 버전인데 버려져 가는 추세라 한다.
실제로 메소드보면 deprecated 줄그어진게 매우 많다.
< 2. Calendar > - Date 개선버전 => SimpleDateFormat 과 연계해서 많이 쓰인다.
Calendar cal = Calendar.getInstance( );
이렇게 객체 생성해야한다. ( new로는 안됨 )
( Calendar -=> getInstance 라는 static 메소드 보유 )
( Calendar 하위클래스 익명클래스 정의 + 객체리턴 의 과정을 거치는 모습이 숨겨져있다. )
Calnedar 객체는 날짜에 관해서 거의 모든 데이터 다 가지고있다. ( 뭘 좋아할지몰라 다준비해두고 )
여기서 필요한거 뽑아서 사용한다.
cal.get(Calendar.YEAR);
cal.get(Calendar.SECOND);
이런식으로 .get(Calendar. ~~ ) 으로 뽑아 쓸 수 있다.
=> SimpleDateFormat 하고 연계해서 많이 사용된다.
< SimpleDateFormat > 날짜 패턴 정해주기
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
sdf.format(now);
("yyyy-MM-dd HH:mm:ss")
- 대소문자 구분 필수 ( 기본모양 2020-12-13 16:25:31 )
HH - 24시간 단위 구분 / hh - 12시간 단위 구분 // DD - 연도에서의 날짜 / 등등 대소문자에 따라 다른값이 나온다.
(기본 포맷을 익혀두자. MM 만 대문자 + HH 는 24시간 용 나머지 소문자 )
("yyyy-MM-dd a hh:mm:ss E ") 띄어쓰기로 구분
a => 오전/오후 표시 => hh 12시간 구분이랑 세트로 같이 쓰자
E => 요일 표시
< 3. LocalDate / LocalDateTime > => 깔끔한 신흥강자!
캘린더도 많이 쓰인다지만, 오류도 있는 모양이고, 쓰기도 나름복잡한 면이 있다.
해서 LocalDate 가 많은 사랑을 받고 있다.
실제로 사용해보면, 가장 깔끔한 느낌을 받았다.
LocalDate current = LocalDate.now(); // 컴퓨터의 현재 날짜 정보
LocalDate myDate = LocalDate.of(1950, 06, 25); // 직접 입력 기능도 쉽다.
current.getYear( );
current.getMonth( ); // December 로 가져옴
current.getMonthValue( ); // 12월 로 가져옴
current.getDayOfMonth( ); // 6
current.getDayOfWeek( ); // 요일
// 날짜까지만 필요하면 이거쓰면되고, 시간까지 필요할 때는
LocalDateTime current = LocalDateTime.now( );
- 마찬가지로 getYear 등등 다 쓸 수 있고, 추가로
current => 2022-07-04T16:00:51.159217100
current.getHour => 15
current.getMinute => 54 / Second 등등 시간관련 된걸 뽑아 쓸 수 있다.
Time 만 뽑기도 가능하다.
LocalTime currenttime = LocalTime.now();
LocalTime mytime = LocalTime.of(6, 17);
'Back to the Java' 카테고리의 다른 글
Collection Framework => ArrayList / HashSet / HashMap (0) | 2022.07.07 |
---|---|
Thread 클래스 / 멀티쓰레드 / Runnable / Priority / sleep / join / synchronized / (0) | 2022.07.06 |
DecimalFormat 출력 포맷 맞추기 (0) | 2022.07.04 |
Wrapper 클래스 (0) | 2022.07.04 |
System 클래스 / Class 클래스 (0) | 2022.07.04 |