Date

치로·2024년 8월 22일

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;

            // id 속성이 timer인 요소에게 결과를 출력
            document.getElementById("timer").innerHTML = result;
        }
        function startTime() {
            // printTime 함수를 1초에 한번씩 반복해서 자동으로 호출
             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>

0개의 댓글