웹표준/자바스크립트

Date 객체와 날짜와 시간

Kiwisae 2022. 8. 12. 12:28

자바스크립트의 내장 객체 중 하나인 Date를 이용해 날짜와 시간을 구할 수 있다.

운영체제의 정보를 가져올 수도 있고, 특정 날짜 정보를 저장할 수도 있다.

 

다음 메소드들을 함께 사용한다.

 

getFullYear() getYear() 로 연도를 구하면 제대로 된 값이 나오지 않는다.
(2022년 기준,
getYear()=122, getFullYear()=2022)
getMonth() 구해지는 값의 범위가 0~11이기 때문에 사용할 때 getMonth()+1로 사용해야 한다.
getDate()  
getHours()  
getMinutes()  
getSeconds()  
getDay() 요일을 숫자로 반환한다. 일요일부터 0으로 시작.

 

<script>
	var t = new Date();
	var year = t.getYear();

	var y = t.getFullYear();
	var m = t.getMonth()+1;
	var d = t.getDate();

	var h = t.getHours();
	var mm = t.getMinutes();
	var s = t.getSeconds();
    
	var w = t.getDay();
	var week=['일', '월', '화', '수', '목', '금', '토'];

	document.write("getYear(): "+year+"<br>");
	document.write(y+"."+m+"."+d+" "+h+":"+mm+":"+s+" "+week[w]+"요일");
</script>

 

 

 

 

이 때, setTimeout()  함수를 사용한다면 사용자가 새로고침을 하지 않아도

시계처럼 1초에 한번씩 초가 자동으로 바뀌도록 할 수 있다.

 

setTimeout(명령, 시간(1/1000)) : 지정된 시간이 경과되면 명령을 실행한다.

1초에 한번씩 명령을 실행하고 싶다면 시간 자리에 1000을 넣는다.

 

이 setTimeout() 을 해제하려면 clearTimeout() 을 사용한다.

 

이 함수를 상태표시줄에서 1초에 한번씩 초가 바뀌도록 실행시켜보았다.

 

<head>
<script>
    function show(){
		var t = new Date();
		var y = t.getFullYear();
		var m = t.getMonth()+1;
		var d = t.getDate();
		var h = t.getHours();
		var mm = t.getMinutes();
		var s = t.getSeconds();
		
		window.status = y+"."+m+"."+d+" "+h+":"+mm+":"+s 
		w = setTimeout("show()", 1000);
	}
	
	function stop(){
		clearTimeout(w);
	}
</script>
</head>

 

 

 

start 버튼을 누르면 실행되고, stop 버튼을 누르면 멈춘다.

 

<body>
	<input type="button" value="start!" onClick="show()">
	<input type="button" value="stop.." onClick="stop()">
</body>