프로그램을 하다 보면 검색 조건에 자바 스크립트로 현재 일자 기준으로 이전 한달 데이터를 원하는 경우가 있다.
그 때,
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일 전 날짜를 얻어올 수 있다.
'개발 > Java Script' 카테고리의 다른 글
[Refactoring] if 문 대체 (0) | 2024.03.22 |
---|---|
[Tip] input type="text" 에 대문자 입력 방법 (0) | 2015.01.02 |
[Tip] ModalDialog 사용 시 주의점 (0) | 2014.12.10 |
[Tip] iframe 콘텐츠에 맞게 높이 조정(스크롤 안생기게) (0) | 2013.10.30 |
[jqGrid] 기본 CRUD (0) | 2013.10.25 |