1. 60초 이하인지 이상인지 판별한다.
a. 만약 60초 이하인 경우, “00:\(currentTime)” 으로 구성한다. 10초 이상인 경우와 이하인 경우로 다시 나눈다.
ㄱ. 60초이하이면서 10초 이하인 경우,
“00:0\(currentTime)”
ㄴ. 60초 이하면서 10초 이상인 경우,
“00:\(currentTime)”
b. 만약 60초 이상인 경우, “0\(currentTime / 60):\(currentTime % 60)”
ㄱ. 60초 이상이지만, 초단위는 10초 이하인 경우,
“0\(currentTime / 60):0\(currentTime % 60)”
ㄴ. 60초 이상이지만, 초단위는 10초 이상인 경우,
“0\(currentTime / 60):\(currentTime % 60)”
=> 총 4 개의 경우의 수가 있다.
이를 메소드로 구현하면 다음과 같다.
/// 1,2,….100과 같은 값을 받았을 때, 00:00 의 형식으로 출력해주는 메소드
func convertTimeToFitText(time: Int) -> String {
// 초와 분을 나눈다.
let minute = time / 60
let sec = time % 60
// 1분이 넘는 경우
if minute > 0 {
return “0\(minute):\(sec < 10 ? “0\(sec)” : “\(sec)”)”
// 1 분이 넘지 않는 경우
} else {
return “00:\(sec < 10 ? “0\(sec)” : “\(sec)”)”
}
}
생각보다 자주 사용되어 정리해봤습니다.
혹시 이 방법보다 좋은 방법 있으시면 조언해주시면 정말 감사하겠습니다!!