Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 시간 문자열 수정

<시간/>

문제

"HH:MM:SS" 형식의 시간 문자열을 받는 JavaScript 함수를 작성해야 합니다.

그러나 여기에 추가로 문제가 있었습니다. 너무 많은 시간 문자열이 끊어져 MM 부분이 60을 초과할 수 있고 SS 부분이 60을 초과할 수 있음을 의미합니다.

우리 함수는 문자열에 필요한 변경을 수행하고 수정된 새 문자열을 반환해야 합니다.

예를 들어 -

"08:11:71" -> "08:12:11"

예시

다음은 코드입니다 -

const str = '08:11:71';
const rectifyTime = (str = '') => {
   if(!Boolean(str)){
      return str;
   };
   const re = /^(\d\d):(\d\d):(\d\d)$/;
   if (!re.test(str)){
      return null;
   };
   let [h, m, s] = str.match(re).slice(1,4).map(Number);
   let time = h * 3600 + m * 60 + s;
   s = time % 60;
   m = (time / 60 |0) % 60;
   h = (time / 3600 |0) % 24;
   return [h, m, s]
   .map(String)
   .join(':');
};
console.log(rectifyTime(str));

출력

다음은 콘솔 출력입니다 -

08:12:11