gpt4 book ai didi

ios - 从 NSTimeInterval 快速转换为小时、分钟、秒、毫秒

转载 作者:IT王子 更新时间:2023-10-29 05:00:26 27 4
gpt4 key购买 nike

我的代码在这里:

func stringFromTimeInterval(interval:NSTimeInterval) -> NSString {

var ti = NSInteger(interval)
var ms = ti * 1000
var seconds = ti % 60
var minutes = (ti / 60) % 60
var hours = (ti / 3600)

return NSString(format: "%0.2d:%0.2d:%0.2d",hours,minutes,seconds,ms)
}

在输出中,毫秒给出了错误的结果。请给出如何正确找到毫秒的想法。

最佳答案

Swift 支持 float 的余数计算,所以我们可以使用%1

var ms = Int((interval % 1) * 1000)

如:

func stringFromTimeInterval(interval: TimeInterval) -> NSString {

let ti = NSInteger(interval)

let ms = Int((interval % 1) * 1000)

let seconds = ti % 60
let minutes = (ti / 60) % 60
let hours = (ti / 3600)

return NSString(format: "%0.2d:%0.2d:%0.2d.%0.3d",hours,minutes,seconds,ms)
}

结果:

stringFromTimeInterval(12345.67)                   "03:25:45.670"

swift 4:

extension TimeInterval{

func stringFromTimeInterval() -> String {

let time = NSInteger(self)

let ms = Int((self.truncatingRemainder(dividingBy: 1)) * 1000)
let seconds = time % 60
let minutes = (time / 60) % 60
let hours = (time / 3600)

return String(format: "%0.2d:%0.2d:%0.2d.%0.3d",hours,minutes,seconds,ms)

}
}

使用:

self.timeLabel.text = player.duration.stringFromTimeInterval()

关于ios - 从 NSTimeInterval 快速转换为小时、分钟、秒、毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28872450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com