준호씨의 블로그
JavaScript - 날짜 더하기 빼기. 특정 날짜가 있는 주의 일요일 날짜를 구하려면? 본문
Javascript에서 오늘의 날짜를 구하는 방법은 new Date()입니다.
var today = new Date();
console.log(today); // 2021-02-03T14:07:47.203Z
만약 어제의 날짜를 구하거나 내일의 날짜를 구하려면 어떻게 해야 할까요?
getDate()로 날짜 값을 꺼내온 다음 거기다가 숫자를 더하거나 뺍니다. 그리고 그 결과를 다시 setDate로 저장하면 됩니다.
아래처럼 해봅시다.
var date = new Date();
date.setDate(date.getDate() - 1);
console.log(date); // 2021-02-02T14:09:37.847Z
어제 날짜를 손쉽게 구했습니다.
내일 날짜는 1을 더해주면 됩니다.
var date = new Date();
date.setDate(date.getDate() + 1);
console.log(date); // 2021-02-04T14:09:53.611Z
코드 라인 수를 줄이고 싶다면 아래처럼 할 수 있습니다.
var yesterday = new Date(new Date().setDate(new Date().getDate() - 1));
날짜 객체 생성을 3번이나 하기 때문에 효과적이지는 않습니다.
함수를 만들자마자 호출하는 방법을 사용할 수도 있지만 조금 복잡하고 어려워 보입니다.
var yesterday = function (date) {
date.setDate(date.getDate() - 1);
return date;
}(new Date);
Date에 addDays 함수를 만들어 붙여서 사용하는 방법도 있습니다.
Date.prototype.addDays = function (days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
console.log(date.addDays(1));
prototype을 건드리기 찜찜하다면 따로 함수를 만들 수도 있습니다.
console.log(">> addDays function");
function addDays(date, days) {
date.setDate(date.getDate() + days);
return date;
}
console.log(addDays(date, 1));
날짜 더하기, 빼기 팁으로 특정 날짜가 있는 주의 일요일을 구하는 방법을 알아보겠습니다.
var date = new Date();
console.log(date); // 2021-02-03T14:21:42.188Z
date.setDate(date.getDate() - date.getDay());
console.log(date); // 2021-01-31T14:21:42.188Z
getDay()는 요일을 날짜로 리턴하는 함수입니다. 일요일은 0이고 순서대로 월요일은 1, 화요일은 2, 수 3, 목 4, 금 5, 토 6입니다.
2021년 2월 3일은 수요일이고 3입니다. 3일을 빼면 2021년 1월 31일 일요일이 나옵니다.
달력을 직접 그릴 일이 있을 때 일요일 칸부터 그려야 되니 달력을 그릴 때 사용할 수 있겠네요.
평일의 첫째 요일인 월요일의 날짜를 구하려면 일요일에서 1을 더해주면 되겠죠? 여러모로 응용할 수 있수 있겠습니다.
'개발이야기' 카테고리의 다른 글
Python 개발도구 PyCharm Community Edition 설치하기 (0) | 2021.02.14 |
---|---|
git 원격 브랜치 삭제하기 (2) | 2021.02.05 |
정원사들 출석부 - 로그인 유저만 접근 가능한 페이지 생성 (0) | 2021.01.30 |
정원사들 출석부. 로그인 기능 추가 (0) | 2021.01.24 |
정원사들 시즌6 시작. 출석부 만들기 (0) | 2021.01.21 |