개발/Java Script

[Date] 현재 일자 얻는 방법

우리의것을찾아서 2013. 10. 10. 19:35

프로그램을 하다 보면 검색 조건에 자바 스크립트로 현재 일자 기준으로 이전 한달 데이터를 원하는 경우가 있다.


그 때,

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일 전 날짜를 얻어올 수 있다.