new Date() 하면 지금 년월일분초를 다 알려줌
new Date().getHours()같이 필요한걸 가져오면 됨 할때마다 new Date 불러오기 귀찮으니까 변수처리
함수를 몇초마다 , 몇초 뒤에 표시할때 쓰는 메서드
setInterval(sayHello, 1000);
sayHello() 라는 펑션을 1초마다 반복한다는 의미.
단 바로 실행되지 않고 1초 후 첫 시작이 되고 계속 1초마다 반복된다. - 이게 싫으면 함수를 한번 실행시키고 그다음에 interval
setTimeout(sayHello, 1000);
1초 기다렸다가 한번만 실행.
function getClock() {
let date = new Date();
let hours = String(date.getHours()).padStart(2,"0");
let minutes = String(date.getMinutes()).padStart(2,"0");
let seconds = String(date.getSeconds()).padStart(2,"0");
clock.innerText = (`${hours}:${minutes}:${seconds}`);
}
만약에 내가 1 2 3 이 아니라 01 02 03 이렇게 표시하고 싶을때 padStart를 사용하면됨
.padStart(자릿수,자릿수 안맞을때 시작지점에 넣고싶은 값)
String(date.getSeconds()).padStart(2,"0") 해주면 0 1 2 이럴때 두자리가 아니기 때문에 01 02 이렇게 바꿔줌
*string일때만 바꿔주기 때문에 date.getSeconds의 값은 숫자니까 String을 사용해서 문자열로 바꿔줘야됨
똑같이 뒷자리에 붙이고 싶으면 padEnd 사용해주면됨
이거 아니면 if문 만들어서 사용해야되니 복잡함. 이렇게 뭔가 아 이걸 굳이 이렇게 만들어야되나 싶은것들은 검색해보면 이미 다른사람들도 똑같이 생각해서 만들어진게 있으니깐 일단 검색먼저 하기!!
'JS' 카테고리의 다른 글
7- 오늘할일 list 생성하고 지우기 (0) | 2022.09.18 |
---|---|
6 - array에서 랜덤하게 하나 불러오기 (0) | 2022.09.16 |
4 - 최종본 (0) | 2022.09.14 |
3 - input value 받기 (0) | 2022.09.14 |
2 - classList를 이용한 토글 만들기 (0) | 2022.09.11 |