지난 시간에 JS로 시계를 구현했는데 표시되는 시간이 19:23:9 이런식으로 두자리 숫자가 아닐때에는 그대로 한자리만 출력하게 했다. 한자리 숫자를 표시할때는 앞에 0을 붙이고 싶다
보통 padStart() 함수는 가지고 있는 string을 보다 길게 만들고 싶을때 사용한다.
"1".padStart(2, "0")
padStart라는 함수를 JS에서 제공하고 있다.
문자열 1에 padStart 함수의 인자로 (표시할 자리수, 표시할 내용)을 적어주면 된다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Momentum App</title>
<link rel="stylesheet" href="CSS/style.css">
</head>
<body>
<form id="login-form" class="hidden">
<input
required
maxlength="10"
type="text"
placeholder="What is your name?" />
<input type="submit" value="Log In" />
</form>
<h2 id="clock">00:00</h2>
<h1 id="greeting" class="hidden"></h1>
<script src="JS/greetings.js"></script>
<script src="JS/clock.js"></script>
</body>
</html>
JS
const time = document.querySelector("h2#clock");
const getTime = () => {
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);
time.innerText = `${hours}:${minutes}:${seconds}`
}
getTime();
setInterval(getTime, 1000);