Swift-将毫秒转换成分钟,秒和毫秒
我正在编写一个赛车应用程序,想要将大量毫秒转换为minutes:seconds.milliseconds(例如1:32.361
)。目前,我只是通过数学(minutes
/
60000)进行运算,然后求余数并进一步除法,依此类推,但是我发现它时不时关闭1毫秒。我知道这听起来似乎没什么大不了的,但是我试图找到和的平均值,1:32.004
然后1:32.004
返回1:32.003
,这意味着它输入不正确,而应用程序的其余部分无法处理。
有没有一种方法使用NSDate
或NSDateFormatter
格式化毫秒到MM或类似的东西:ss.mmm?
回答:
您可以创建一个TimeInterval扩展名来格式化您的经过时间,如下所示:
extension TimeInterval { var minuteSecondMS: String {
return String(format:"%d:%02d.%03d", minute, second, millisecond)
}
var minute: Int {
return Int((self/60).truncatingRemainder(dividingBy: 60))
}
var second: Int {
return Int(truncatingRemainder(dividingBy: 60))
}
var millisecond: Int {
return Int((self*1000).truncatingRemainder(dividingBy: 1000))
}
}
extension Int {
var msToSeconds: Double {
return Double(self) / 1000
}
}
let seconds = 131.531 // 131.531let time = seconds.minuteSecondMS // "2:11.531"
let millisecond = seconds.millisecond // 531
let ms = 1111
let sec = ms.msToSeconds.minuteSecondMS // "0:01.111"
以上是 Swift-将毫秒转换成分钟,秒和毫秒 的全部内容, 来源链接: utcz.com/qa/430456.html