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
'study > JAVA' 카테고리의 다른 글
자바 다중배열에서 빠져나가기(feat. break & label) (0) | 2022.04.15 |
---|---|
nextInt 다음에 nextLine 쓰면 문제가 되는 이유. (feat. buffer) (0) | 2022.04.09 |
JAVA Casting (0) | 2022.04.05 |
자바 상속 inheritance 기초 (0) | 2022.04.04 |
이것이 자바다 6장 확인문제 20번 (0) | 2022.04.03 |
댓글