일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 단국대학교 k-mooc
- 블록체인 강의
- select
- K-MOOC 단국대학교 홍보단
- 해시
- html 태그
- Node
- 블록체인
- CSS 기초
- Entity
- 블록체인강의
- 우선순위큐
- national instruments
- html기초
- 오블완
- 반정규화
- StringBuilder
- 2차원배열정렬
- 시스템프로그래밍
- 자바문자열구분
- stringreader
- K-MOOC
- 컴파일시스템
- 자바입력받기
- StringTokenizer
- 자바스크립트
- 티스토리챌린지
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- attribute
- biginteger사용법
- Today
- Total
열정 실천
[JavaScript] 자바스크립트 - 시간 다루기 (setInterval(), padStart() ) 본문
현재 시간을 15:34:26 (시/분/초) 이렇게 디지털 형식으로 표시하기 위해서
다음과 같은 Date 객체의 메소드를 사용하면 된다.
⏰ getHours() // 시간(Hour)
⏰ getMinutes() // 분(Minute)
⏰ getSeconds() // 초(Second)
⏰ getMilliseconds() // 밀리초(Milliseconds)
Date 객체를 먼저 선언한 후 이 메소드를 실행하기만 시간을 가져올 수 있다.
이렇게 가져온 시간을 화면에 출력하게 되면 Date 객체를 선언했을 때의 시간이 출력이 되고 바뀌지 않는다.
진짜 디지털 시계처럼 매초마다 시간을 변경해주기 위해서 정해진 시간마다 실행되는 setInterval() 함수를 이용하자!
🎈 setInterval( ) 함수 사용법
첫 번째 매개변수에는 일정시간마다 실행할 함수의 이름을 넣어주고,
두 번째 매개변수에는 초 간격을 넣어준다. (1초 : 1000)
setInterval(getClock, 1000);
코드
//시간을 표시할 html 요소 불러오기
const clock = document.querySelector("h2#clock");
//현재 시간을 불러오는 함수
function getClock() {
const date = new Date();
clock.innerText = `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;
}
//setInterval 함수를 이용하여 1초마다 getClock() 실행
setInterval(getClock,1000);
📌 setInterval( )와 setTimeout( ) 차이
setInterval( 함수, 5000 )은 5초마다 함수가 계속해서 실행되지만
setTimeout( 함수, 5000 )은 프로그램이 실행되고 5초 후 딱 한 번 실행된다.
📌 getStart 함수
9:20:7 >>> 09:20:07
여기서 쪼오끔만 더 응용을 해보자면 위의 코드대로 실행하면 시간은
9:20:7 (시/분/초) 이렇게 출력된다. 하지만 보통 우리가 보는 디지털 시계는
09:20:07 (시/분/초) 이렇게 한 자리 수에는 앞에 0이 붙는다.
getStart 함수를 이용하면 7 ---> 07로 자동으로 수정할 수 있다.
string.padStart(자릿수, 정해둔 자릿수가 아닐 경우 앞에 추가할 문자);
예시
let num = "7";
console.log(num.padStart(2,"0"));
//출력 : 07
만약 num 이 "17"이라면 두 자리 수를 만족하기 때문에 그대로 17이 출력된다.
이 함수를 이용하여 수정한 코드!!
const clock = document.querySelector("h2#clock");
function getClock() {
const date = new Date();
const hours = String(date.getHours()).padStart(2,"0");
const minutes = String(date.getMinutes()).padStart(2,"0");
const seconds = String(date.getSeconds()).padStart(2,"0");
clock.innerText = `${hours}:${minutes}:${seconds}`;
}
getClock();
setInterval(getClock,1000);
'개발 공부 > JS' 카테고리의 다른 글
[JavaScript] CallBack 함수 (0) | 2023.05.18 |
---|---|
[JavaScript] 데이터 처리 방식 (동기와 비동기) (0) | 2023.05.15 |
[JavaScript] 이벤트 객체 (0) | 2023.05.12 |
[JavaScript] 이벤트!!!! - 이벤트 리스너 등록, 이벤트 리스너 삭제 (0) | 2023.05.11 |
[JavaScript] DOM이 뭔가요? ----- getElementById(), getElementByClassName(), getElementByTagName(), querySelector(), querySelectorAll() (0) | 2023.05.11 |