Swift-将毫秒转换成分钟,秒和毫秒

我正在编写一个赛车应用程序,想要将大量毫秒转换为minutes:seconds.milliseconds(例如1:32.361)。目前,我只是通过数学(minutes

/

60000)进行运算,然后求余数并进一步除法,依此类推,但是我发现它时不时关闭1毫秒。我知道这听起来似乎没什么大不了的,但是我试图找到和的平均值,1:32.004然后1:32.004返回1:32.003,这意味着它输入不正确,而应用程序的其余部分无法处理。

有没有一种方法使用NSDateNSDateFormatter格式化毫秒到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.531

let 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

回到顶部