강의/Do it!
[Do it! 자바스크립트 기본] 06. 여러 자료를 한꺼번에 담는 객체 - 기념일 계산 프로그램 만들기 (P180)
millfeel1298
2021. 3. 17. 22:52
책과 결과 값의 차이가 커서 오탈자 봤더니 "month + 1"을 빼먹었더라;
(책은 재판하면서 수정놓고선 코드 수정은 안해놓음. 할말하않)
그리고 D-day는 당일부터 계산하기 때문에 -1을 해줘야 한다.
(예를 들어 100일인 경우, 1을 안빼주면 101일이 된다.)
내 코드
const startValue = prompt('사귀기 시작한 날짜를 입력해주세요.', "2018-03-23");
let startDay = new Date(startValue);
const toDay = new Date();
const dayMilli = 1000 * 60 * 60 * 24;
const accent = document.querySelector('#accent').firstElementChild;
const date100 = document.querySelector('#date100');
const date200 = document.querySelector('#date200');
const date365 = document.querySelector('#date365');
const date500 = document.querySelector('#date500');
function passedDay() {
return Math.round((toDay.getTime() - startDay.getTime()) / dayMilli);
}
// function dDay(days) {
// const dayChange = new Date(startDay.getTime() + (days * dayMilli) - dayMilli);
// return `${dayChange.getFullYear()}년 ${dayChange.getMonth() + 1}월 ${dayChange.getDate()}일`;
// }
function dDay(days) {
startDay = new Date(startValue);
startDay.setDate(startDay.getDate() + days - 1);
return `${startDay.getFullYear()}년 ${startDay.getMonth() + 1}월 ${startDay.getDate()}일`;
}
accent.textContent = `${passedDay()}일`;
date100.textContent = `${dDay(100)}`;
date200.textContent = `${dDay(200)}`;
date365.textContent = `${dDay(365)}`;
date500.textContent = `${dDay(500)}`;
[공부 좌표]
Do It! 자바스크립트 기본편 P180 ~ 190