1번 : 2021/01/01
<body>
<div style="border: solid skyblue;">
<h1 id="demo">다음 생일까지 남은 일수</h1>
<h5>다음 버튼을 클릭하여 생일을 입력하면, <br> 다음 생일까지 남은 일수를 볼 수 있습니다</h5>
<input type="button" value="생일을 입력" onclick="prom()">
<br><br><br><br><br><br>
</div>
<script type="text/javascript">
function prom() {
let input = prompt('다음 생일을 입력하세요','');
d = new Date();
if (input =='') {
alert('다시 입력해주세요')
}else{
date1 = new Date(input);
date2 = new Date(d.getFullYear(),d.getMonth(),d.getDate());
/* alert(t);
alert(u); */
let diff = (date1.getTime() - date2.getTime())/(1000*60*60*24);
alert('입력하신 생일까지 남은 기간은 ' + diff + '일 입니다');
}
}
</script>
</body>
2번(강사님방법)
: 생일 월과 일을 각각 따로 입력받음,
1년단위로 계산, 날짜가 마이너스(-)일경우 +1년해줘서 결과값도출
<body>
<div style="border: solid skyblue;">
<h1 id="days">다음 생일까지 남은 일수</h1>
<h5>다음 버튼을 클릭하여 생일을 입력하면, <br> 다음 생일까지 남은 일수를 볼 수 있습니다</h5>
<input type="button" value="생일을 입력" onclick="prom()">
<br><br><br><br><br><br>
</div>
<script type="text/javascript">
function prom() {
//2번
let birthMonth = prompt("생일 월을 입력해 주십시오(1~12)");
let birthDay = prompt("생일 날짜를 입력해 주십시오(1~21)");
//현재 날짜와 비교
let nowday = new Date(); //오늘
let birth = new Date(); //생일을 작성 할 날짜
//자신의 생일을 저장
birth.setMonth(birthMonth-1);
birth.setDate(birthDay);
// 자신의 생일 - 현재날짜
let mSecond = birth.getTime() - nowday.getTime();
// mSecond가 마이너스(-)일 경우 -> 생일이 지났으므로 조건을 달아줌
if (mSecond <= 0) {
let birthYear = birth.getFullYear();
birth.setFullYear(birthYear+1);
mSecond = birth.getTime() - nowday.getTime();
}
// 위에서 얻은 초를 다시 나눠줌
let days = mSecond / (24 * 60 * 60 * 1000);
document.getElementById("days").innerHTML = days;
}
</script>
</body>
'Java Script > work' 카테고리의 다른 글
node, file// 사용을 통한 테이블 추가! file로 read; (0) | 2020.07.10 |
---|---|
테이블속 값을 가져와 연산처리 하기, nodeList (0) | 2020.07.10 |
현재 시각은**입니다 (0) | 2020.07.10 |
버튼을 클릭하면 2개의 주사위가 랜덤됩니다. (0) | 2020.07.10 |
미술관 링크로 이동하기 (0) | 2020.07.10 |