javascript 자바스크립트 하루 전/후 날짜 구하기 다음달 이전달 구하기 내년 작년 날짜 구하기
1. 하루 전/후 구하기
[code]
let d = new Date();
let sel_day = -1; //일자를 조절하시면 됩니다. -1이면 하루전/ +1이면 내일
d.setDate(d.getDate() + sel_day );
let year = d.getFullYear();
let month = ('0' + (d.getMonth() + 1 )).slice(-2);
let day = ('0' + d.getDate()).slice(-2);
dt = year+"-"+month+"-"+day;
document.write(dt)
[/code]
2. 다음달 / 이전달 구하기
[code]
let d = new Date();
let sel_month = -1; // 월을 조절하시면 됩니다. -1이면 전달을 +1이면 다음달을..
d.setMonth(d.getMonth() + sel_month );
let year = d.getFullYear();
let month = ('0' + (d.getMonth() + 1 )).slice(-2);
let day = ('0' + d.getDate()).slice(-2);
dt = year+"-"+month+"-"+day;
document.write(dt);
[/code]
3. 작년/내년 구하기
[code]
let d = new Date();
let sel_year = -1; //일자를 조절하시면 됩니다. -1이면 하루전/ +1이면 내일
d.setFullYear(d.getFullYear() + sel_year );
let year = d.getFullYear();
let month = ('0' + (d.getMonth() + 1 )).slice(-2);
let day = ('0' + d.getDate()).slice(-2);
dt = year+"-"+month+"-"+day;
document.write(dt);
[/code]
댓글 3개
"2022년 1월 31일"에 "다음달"을 구하면, "2022년 3월 3일"이 나옵니다.
"2022년 3월 31일"에 "이전달"을 구하면, "2022년 3월 3일"이 나옵니다.
2월 31일은 없으니까요. 2월 28일에서 초과된 만큼 더해 3월 3일이 나옵니다.
+ Date.prototype.setMonth()
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth
결국 "말일"에 대한 처리가 필요합니다.
아래처럼 일 부분을 0으로 지정 시, 전달의 말일을 구할 수 있으니
이 값을 이용해 적당한 처리를 해주면 됩니다. 생략합니다!
let lastday = (new Date(2022, 2, 0)).getDate(); // 월(0~11), 2022년 3월 0일 => 2022년 2월 28일
* PHP에서도 같아요.