iOS 응용 (swift)
[iOS - swift] 시간 정보 format (시, 분, 초)
jake-kim
2021. 2. 9. 22:56
초 정보 -> 시, 분 표현
- TimeParts 구조체 정의
public struct TimeParts: CustomStringConvertible {
public var hours = 0
public var minutes = 0
public var description: String {
return NSString(format: "%02d:%02d", hours, minutes) as String
}
}
- Int를 extension하여 TimeParts 모델을 리턴하는 코드 정의
extension Int {
public func toTimeParts() -> TimeParts {
let seconds = self
let mins = (seconds % 3600) / 60
let hours = seconds / 3600
return TimeParts(hours: hours, minutes: mins)
}
}
사용
- 초 단위 ETA 정보를 가지고 String으로 반환하는 함수 정의
- R.swift프레임워크 사용 참고 : ios-development.tistory.com/306
func formattedETA() -> String {
let timeParts = self.toTimeParts()
var etaString: String
if timeParts.hours != 0 {
etaString = Strings.remainTimeFormat(timeParts.hours, timeParts.minutes) // R.swift 프레임워크 사용
} else {
let min = timeParts.minutes == 0 ? 1 : timeParts.minutes
etaString = Strings.remainTimeFormat(min)
}
return etaString
}