기존에 D-DAY 계산 스크립트가 있었다. 다음과 같다.
<script language=javascript>
var todaydate = new Date("MM-dd-yyyy");
var pubdate = new Date("MM-dd-yyyy");
var day = Math.ceil((todaydate-pubdate)/24/60/60/1000)-1;
if(day < 0) {
document.write('[D'+day+']');
}else{
document.write('[D-0]');
}
</script>
이게 사파리와 파이어폭스에서 D-0으로만 찍힌다. 그런데 Date부분이 눈에 거실려서 수정해주니 사파리 파이어 폭스에서도 잘 된다. 그리고 결정적으로 버그까지 있다. ㅡㅡ; 다음은 수정한 소스이다.
<script language=javascript>
var todaydate = new Date("yyyy","MM - 1","dd");
var pubdate = new Date("yyyy","MM-1","dd");
var day = Math.ceil((pubdate-todaydate)/24/60/60/1000);
if(day < 0) {
day = 0;
}
document.write('[D-'+day+']');
</script>
버그는 오늘까지 포함한 날을 계산해서 보여준다. 만일 내일 이벤트일이면 위에 소스는 D-2가 되는 것이다. 간만에 해보는거라 내가 잘못생각하는줄 알고 네이버의 D-DAY계산을 돌려보았다. 내 생각이 정확했다... 그리고 두번째 소스를 보면 MM-1이라고 월을 계산했는데, Date 객체의 특성이니 기억하면 되겠다.
'Javascript' 카테고리의 다른 글
객체 안의 프로퍼티 접근 (0) | 2014.01.20 |
---|---|
javascript Boolean 값 (0) | 2014.01.20 |
소셜네트워크에 글올리기 (0) | 2012.12.10 |
스크립트로 form 관리 (0) | 2012.07.20 |
문서 객체와 객체지향을 이용한 움직임 구현 (0) | 2012.07.09 |