티스토리 뷰

Language/JavaScript

[ JavaScript ] 날짜 비교

MiniNeko 2015. 11. 29. 04:54

선택한 날짜와 현재 날짜를 비교해서 과거일 경우 경고창을 띄운다.
 
// 예약 발송 여부를 선택하는 체크 박스의 object
var obj = document.getElementById("reserve");
 
// 예약발송 여부를 선택하는 체크 박스가 checked 일 경우
if(obj.checked) {
     // 현재 날짜 및 시간
     var nowDate = new Date();
     // 현재 날짜의 년도
     var year = nowDate.getYear();
     // 현재 날짜의 월
     var month = nowDate.getMonth() + 1;
     // 현재 날짜의 일
     var date = nowDate.getDate();
     // 현재 시간의 시
     var hour = nowDate.getHours();
     // 현재 시간의 분
     var minute = nowDate.getMinutes();
 
     // FireFox일 경우 year에 1900을 더해준다
     if((year + "").length < 4) {
          year = 1900 + year;
     }
     // 현재 날짜의 월이 1~9월일 경우 십의 자리에 0을 더해준다.
     if((month + "").length < 2) {
          month = "0" + month;
     }
     if((date + "").length < 2) {
          date = "0" + date;
     }
     if((hour + "").length < 2) {
          hour = "0" + hour;
     }
 
     // yyyymmddhhmi 형식의 현재 날짜 및 시간을 int 형으로 변환
     var now = parseInt(year + "" + month + "" + date + "" + hour + "" + minute);
 
     // 사용자의 의해 선택된 예약 날짜 (yyyy-mm-dd) 형식임
     var reserveDate = document.getElementById("reserveDate").value;
 
     // yyyy-mm-dd 형식을 yyyymmdd 형식으로 변경
     reserveDate = reserveDate.replace(/-/g, "");
 
     // 사용자에 의해 선택된 예약 시간의 시 (01,02 ...59) 형태임
     var reserveHour = document.getElementById("reserveHour").value;
 
     // 사용자의 의해 선택된 예약 시간의 분 (10,20... 50) 형태임
     var reserveMinute = document.getElementById("reserveMinute").value;
 
     // yyyymmddhhmi 형식의 예약 날짜 및 시간을 int 형으로 변환
     var reserve = parseInt(reserveDate+reseveHour+reserveMinunte);
 
     // 예약 설정 된 날짜 및 시간이 현재 날짜 및 시간 보다 작거나 같으면 경고창을 띄운다.
     if(reserve <= now) {
          alert("예약발송이 가능한 날짜 또는 시간이 아닙니다.");
          return;
     }
}
 
============================================================================================================================================ 

Total
Today
Yesterday
최근에 올라온 글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31