type number 700
, 1830
등을
type string 07:00
, 18:30
등으로 바꾸려 함
string으로 바꾼 이유는 앞자리에 0을 쉽게 붙이게 하기 위함이다.
dayjs로 포맷팅하려 했으나 자바스크립트로 직접짜볼까 함
(사실 포맷팅 실패해서 우회하는 것...)
700 -> 07:00
1830 -> 18:30
앞 2자리(1자리)는 시간, 뒷 2자리는 분이다.
시간은 Math.floor(t / 100)
이고
분은 t % 100
인 셈(나머지)
그리고 700같이 4자리가 아니라 3자리인 숫자는 length로 판단해 0을 붙여준다.
10처럼 앞자리가 생기면 상관없고
12부턴 오후니까 또 상관없어진다
그럼 간단하게 요렇게 가능함
// 730 1830
export default function changeTime(t) {
let hours = String(Math.floor(t / 100));
let minutes = String(t % 100);
if (t.toString().length == 3) {
hours = '0' + hours;
}
console.log(t, '는 ', hours, ':', minutes)
}
성공 이긴한데
다양한 포맷으로 테스트해보면
분단위가 10이하인 경우 앞단에 0을 붙여줘야겠다.
간단하게 length로 처리
if(minutes.length < 2){
minutes = '0' + minutes;
}
이제 정상적으로 출력된다.