conversion from NSTimeInterval to hour,minutes,seconds,milliseconds in swift

前端 未结 15 1325
不思量自难忘°
不思量自难忘° 2020-12-07 20:05

My code is here:

func stringFromTimeInterval(interval:NSTimeInterval) -> NSString {

    var ti = NSInteger(interval)
    var ms = ti * 1000
    var secon         


        
15条回答
  •  时光取名叫无心
    2020-12-07 20:25

    Swift 5. No ms and some conditional formatting (i.e. don't display hours if there are 0 hours).

    extension TimeInterval{
    
    func stringFromTimeInterval() -> String {
    
        let time = NSInteger(self)
    
        let seconds = time % 60
        let minutes = (time / 60) % 60
        let hours = (time / 3600)
    
        var formatString = ""
        if hours == 0 {
            if(minutes < 10) {
                formatString = "%2d:%0.2d"
            }else {
                formatString = "%0.2d:%0.2d"
            }
            return String(format: formatString,minutes,seconds)
        }else {
            formatString = "%2d:%0.2d:%0.2d"
            return String(format: formatString,hours,minutes,seconds)
        }
    }
    }
    

提交回复
热议问题