JS

230104 JS 날짜객체

주영재 2023. 1. 4. 19:03

날짜객체

Date 객체는 1970년 1월 1일 UTC(협정 세계시) 자정과의 시간 차이를 
밀리초로 나타내는 정수 값을 담습니다.

참고: Date 객체의 중심을 구성하는 시간 값은 UTC 기준이지만, 
날짜와 시간 등 구성 요소를 가져오는 메서드는 모두 현지(호스트 시스템의 위치)의 시간대를 사용한다는 것을 기억해야 합니다.

날짜 포멧 형식은 3개.
IOSString
UTCString
LocalTimeString
형식만 다름.

timestamp가 IOSString타입.

Date.now()-static메서드


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
        
    <script>
        var date = new Date(2023, 0, 4);//년월일(월은 0부터 시작)
        var date = new Date(2023,01,04,2,19,0);//2023년, 02월, 04일 2시19분00초.
        console.log(date);
        
        //날짜의 포멧 형식 변환 함수
        console.log(date.toUTCString());
        console.log(date.toLocaleTimeString());
        console.log(date.toISOString());
        
        //년 월 일을 얻는 getter(당연히 setter도 있음)
        var date = new Date();//현재시간
        var milis=date.getTime();
        console.log(milis);//1970.1.1~현재까지 지난시간을 밀리초로.
        
        var year = date.getFullYear();//년
        var month = date.getMonth()+1;//월. 월은 0부터 시작
        var day = date.getDate();//일. getDay는 요일을 가져오는데, 월요일이 1, 화요일이 2, 수요일이 3임.
        
        var hour = date.getHours(); //시간
        var minute = date.getMinutes(); //분
        var second = date.getSeconds();//초
        
        console.log(year+"년 "+month+"월 "+day+"일 "+hour+"시 "+minute+"분 "+second+"초");
        
        function cur(){
            var date = new Date();//매번 현재시간을 담는 변수를 생성해줘야 현재시간값이 계속 바뀐다.
           
            document.writeln(date.toUTCString());
            document.close();
            

            var stop=document.createElement("button");
            stop.innerHTML="stop";
            stop.addEventListener("click",timestop);

            var restart=document.createElement("button");
            restart.innerHTML="restart";
            restart.addEventListener("click",function(){
                clock=setInterval(cur,1000);
            });


            document.body.appendChild(stop);
            document.body.appendChild(restart);
        }

        var clock=setInterval(cur,1000);

        function timestop(){
            window.clearInterval(clock);
        }

    </script>


</body>
</html>

1초가 지날 때마다, 즉 현재시간이 writeln을 통해 적힘. stop을 누르면 interval이 중단되고 restart를 누르면 재시작.

 

월은 0부터 시작함.

getDate는 일을 가져오고, getDay는 요일을 가져온다. 월요일이 1, 화요일이 2, 수요일이 3.