[Date] 현재 일자 얻는 방법
프로그램을 하다 보면 검색 조건에 자바 스크립트로 현재 일자 기준으로 이전 한달 데이터를 원하는 경우가 있다.
그 때,
var d = new Date();
우선 이렇게 하면 현재 날짜를 얻을 수 있다 생각할 수 있지만 오산이다.
d.getFullYear() + d.getMonth() + d.getDate()
이렇게 더해줘야 우리가 얻으려고 하는 숫자로 된 날짜를 얻을 수 있다.
근데 이것도 해 보면 달과 날짜가 한자리씩 나온다 더군다나 월은 1월이 0부터 시작하므로 문제가 있다
그래서 보통
function getNewDate() {
...
return d.getFullYear() + "-" + addZeroMonth(d.getMonth() + 1) + "-" + addZeroMonth(d.getDate());
}
function addZeroMonth(m) {
return m < 10 ? "0" + m : m;
}
위와 같은 펑션을 하나 선언하고 월 과 일자 를 넘기면
2013-03-05
이런 식으로 달 날짜가 한 자리인 경우에도 정상적으로 나온다
이제 여기에
function getNewDate(day) {
if(day!=undefined && !isNaN(day))
d = new Date(Date.parse(new Date()) + (day * 1000 * 60 * 60 * 24));
else
d = new Date();
return d.getFullYear()...
}
위와 같이 해주면 day 에 따라(+10, -10 등) 10일 후 10일 전 날짜를 얻어올 수 있다.