본문 바로가기
study/JAVA

JAVA Calendar와 LocalTime 활용 문제

by stilinski 2022. 4. 8.
728x90

문제

[출력 결과]

수능일 : 2021-11-18

오늘 : 2021-11-3

남은일 : 15

 

Calendar로 구현

변수명 그지 같은 거 앎.

일단 구현이 더 시급.

(15가 나와야 하는데 14가 나옴. 초까지 새는 거라서 오차가 있을 수 있다고 함. )

 

 

LocalDate로 구현해본 결과.

뭔가 더 간단해 보임

남은일을 구하기 위해 수능 날짜에서 오늘 날짜 빼야 하는데 그러려면 밀리세컨드 그 걸로 바꿔서 계산해야 함.

근데 Calendar에서는 getTimeMillis가 있었지만 LocalTime에는 없음.

 

LocalTime 클래스 타입을 밀리세컨드으로 가져오는 방법 검색 결과

 

localtime변수명.atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli();

이렇게 하면 된다길래 걍 복붙함

그랬더니 잘됨 ㅎ

🐶이둑 ㅎㅎ

뿌듯.

 


 

 

수업에서 한 것

 

 

수업에선 오늘날자만 밀리세컨드으로 받아서 yyyy-M-d형식으로 하는 걸 해봤지만

나는 내가 지정한 날짜도 저렇게 해보고 싶어서 시도해봄.

캘린더에 심플 포맷 적용하는 법. 후... 데이트 타입으로 변경 후 가능

Date 변수명 = 캘린더 변수명.getTime();

하면 데이트타입으로 변환 완료.

그걸 심플데이타포맷에 넣어주면 완성~

 

 

로컬 데이트 클래스 타입은 그대로 프린트하면 저렇게 바로 나오는데, 캘린더는 저렇게 안 나오고 이상한 긴 문자열이 출력됨. 그래서 날짜를 저런 형식으로 바로 프린트하려는 거면 localdate가 낫다.

728x90

댓글