1. 날짜, 시간 계산
- 두 날짜의 차이를 구하기 : TimeStamp값
- 1/1000 초 단위 형태로 반환해서 리턴
- getTime()
- 두 객체 사이의 날짜 값은 (24(시간) 60(분) 60(초) * 1000)으로 나누면 두 객체 사이의 날짜 차이값을 알 수 잇음
- 나눈 값은 소수점 이하를 절단해야함
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let theday = new Date(2024, 0, 1);
let today = new Date();
let cnt = today.getTime() - theday.getTime();
let day = Math.floor(cnt/(24*60*60*1000));
document.write("<h1>올해는 " + day + "일이 지났습니다.</h1>");
</script>
</body>
</html>
2. setInterval 함수
- setInterval 함수는 다른 함수의 이름과 1/1000초 단위의 시간값을 파라미터로 설정하여 정해진 사간에 한 번씩 파라미터로 전달된 함수를 반복적으로 호출
// printTime 함수를 1초에 한 번씩 반복해서 자동으로 호출
setInterval(printTime, 1000);
3. setTimeout()
- 지정된 시간만큼 딜레이 한 후 파라미터로 전달된 함수를 1회만 호출
// printTime함수를 1초 후에 한번만 호출
setTimeout(printTime, 1000);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body onload="startTime()">
<h1 id="timer"></h1>
<script>
function printTime() {
let days = ["일", "월", "화", "수", "목", "금", "토"];
let mydate = new Date();
let yy = mydate.getFullYear();
let mm = mydate.getMonth()+1;
let dd = mydate.getDate();
let i = mydate.getDay();
let day = days[i];
let hh = mydate.getHours();
let mi = mydate.getMinutes();
let ss = mydate.getSeconds();
let result = yy + "-" + mm + "-" + dd + " " + day + "요일" + hh + ":" + mi + ":" + ss;
document.getElementById("timer").innerHTML = result;
}
function startTime() {
setInterval(printTime, 1000);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function getDday(y, m, d) {
let today = new Date();
let dday = new Date(y, m-1, d);
let cnt = theday.getTime() - today.getTime();
let n = Math.ceil(cnt / (24*60*60*1000));
return n;
}
let date = new Date();
let y = date.getFullYear();
let dday = getDday(y, 12, 31);
document.write("<h1>올해는 앞으로 " + dday + "일이 남았습니다.</h1>");
</script>
</body>
</html>