시분초 깔끔하게 표현하기

Nesffer·2021년 12월 8일
0

JavaScript에서 현재 시각을 기준으로 시분초를 표현할 때 다음과 같은 표현을 사용합니다.

삼항연산자 이용

const date = new Date()
const hour = date.getHours() < 10 ? `0${date.getHours()}` : date.getHours()
const minute = date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes()
const second = date.getSeconds() < 10 ? `0${date.getSeconds()}` : date.getSeconds()
const time = `${hour}:${minute}:${second}`
console.log()
// 09:41:35

padStart() 이용

const date = new Date()
const hour = date.getHours().toString().padStart(2, '0')
const minute = date.getMinutes().toString().padStart(2, '0')
const second = date.getSeconds().toString().padStart(2, '0')
const time = `${hour}:${minute}:${second}`
console.log(time)
// 09:41:35

위와 같은 표현은 가장 기본적이고 의도도 잘 드러나지만 코드가 길어진다는 단점이 있는데 .toLocaleTimeString을 사용해서 보다 깔끔하게 표현 가능합니다.

const options = { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false }
const date = new Date()
const time = date.toLocaleTimeString([], options)
console.log(time)
// 09:41:35
profile
나는 펭귄이다.

0개의 댓글