IT Study/Web
[JavaScript] 응용 예제 - 생일 D-day
도뿌리
2018. 8. 6. 14:42
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>다음생일까지 남은 일수</h1> <pre> 다음 버튼을 클릭하여 생일을 입력하면, 다음 생일까지 남은 일수를 볼 수 있습니다. </pre> <button type="button" onclick="restDate()">생일은 입력</button> <h3 id="result"></h3> <script type="text/javascript"> function restDate() { var inputBirth = prompt('생일 입력(00-00)',''); if(inputBirth.charAt(2) != '-' || inputBirth.length != 5 ) alert("잘못입력 하셨습니다."); else{ var today = new Date(); //0 번째 월, 1 번째 일 var arr = inputBirth.split("-"); arr[0] = parseInt(arr[0]); arr[1] = parseInt(arr[1]); var nowMonth = today.getMonth()+1; var nowDate = today.getDate(); if(nowMonth > arr[0]){ //월이 지났을때 var nextBirth = new Date(today.getFullYear()+1,arr[0]-1,arr[1]); //올해 날짜를 date obj로 생성 var betweenDay = Math.ceil((nextBirth.getTime() - today.getTime()) /1000/60/60/24); document.getElementById("result").innerHTML = "D-" + betweenDay; }else if(nowMonth == arr[0] && nowDate> arr[1]){//월은 같지만 일수가 지났을 때 var nextBirth = new Date(today.getFullYear()+1,arr[0]-1,arr[1]); //올해 날짜를 date obj로 생성 var betweenDay = Math.ceil((nextBirth.getTime() - today.getTime()) /1000/60/60/24); document.getElementById("result").innerHTML = "D-" + betweenDay; }else{ var nextBirth = new Date(today.getFullYear(),arr[0]-1,arr[1]); //올해 날짜를 date obj로 생성 var betweenDay = Math.ceil((nextBirth.getTime() - today.getTime()) /1000/60/60/24); document.getElementById("result").innerHTML = "D-" + betweenDay; } } } </script> </body> </html> | cs |