[javascript]초를 hh:mm:ss 형태로 변경하는 방법

0
463
javascript
javascript
secondsToTimeFormat (duration) {
      // 초를 mm:ss format 으로 변환
      const totalSeconds = parseInt(duration)
      const hours = Math.floor(totalSeconds / 3600)
      const minutes = Math.floor((totalSeconds % 3600) / 60)
      const seconds = parseInt(totalSeconds) % 60
      const hh = String(hours).padStart(2, '0')
      const mm = String(minutes).padStart(2, '0')
      const ss = String(seconds).padStart(2, '0')
      return hours > 0 ? `${hh}:${mm}:${ss}` : `${mm}:${ss}`
},
  • const totalSeconds = parseInt(duration): 주어진 duration 값을 정수형으로 변환하여 totalSeconds 변수에 할당합니다. 이 변수에는 총 시간을 초 단위로 나타내는 값이 들어갑니다.
  • const hours = Math.floor(totalSeconds / 3600): 전체 시간을 시간 단위로 변환합니다. 3600으로 나눈 후 소수점을 버림하여 얻은 값입니다.
  • const minutes = Math.floor((totalSeconds % 3600) / 60): 전체 시간에서 시간을 제외한 나머지를 분 단위로 변환합니다. totalSeconds를 3600으로 나눈 후, 남은 값을 60으로 나눈 후 소수점을 버림하여 얻은 값입니다.
  • const seconds = parseInt(totalSeconds) % 60: 전체 시간에서 시간과 분을 제외한 나머지를 초 단위로 변환합니다. totalSeconds를 60으로 나눈 나머지 값을 구합니다.
  • const hh = String(hours).padStart(2, ‘0’): 시간을 두 자리로 만들어주기 위해 hours 변수를 문자열로 변환한 후, padStart() 메서드를 사용하여 두 자리로 만듭니다. 만약 한 자리 수라면 앞에 0을 채웁니다.
  • const mm = String(minutes).padStart(2, ‘0’): 분을 두 자리로 만들어주기 위해 minutes 변수를 문자열로 변환한 후, padStart() 메서드를 사용하여 두 자리로 만듭니다.
  • const ss = String(seconds).padStart(2, ‘0’): 초를 두 자리로 만들어주기 위해 seconds 변수를 문자열로 변환한 후, padStart() 메서드를 사용하여 두 자리로 만듭니다.
  • return hours > 0 ? ${hh}:${mm}:${ss}:${mm}:${ss}“: 시간이 0보다 크면 “시:분:초” 형식으로 반환하고, 그렇지 않으면 “분:초” 형식으로 반환합니다.