将不推荐使用的代码从 CFGregorianDate 更新为 CFCalendar 或 NSCalendar API

Updating deprecated code from CFGregorianDate to CFCalendar or NSCalendar API

我正在尝试更新已弃用的代码:

elapsedTime = CFAbsoluteTimeGetGregorianDate((totalElapsedTime + totalElapsedTime2), nil)

我想我可以简单地将我的公历日期更改为 NSDate 并像这样使用 dateByAddingTimeInterval:

 elapsedTime = elapsedTime.dateByAddingTimeInterval((totalElapsedTime + totalElapsedTime2))

此代码可以编译,但由于 elapsedTime 为 nil 而崩溃。

我是否应该使用其他方法来替换 CFAbsoluteTimeGetGregorianDate。我浏览了 NSDate 库并进行了尝试,但一无所获。

我将代码更改为以下内容,效果非常好。我在网上找不到这个,希望对其他人有所帮助。

let myTimeInterval = NSTimeInterval((totalElapsedTime + totalElapsedTime2))
let formattedDateString: String =  stringFromTimeInterval(myTimeInterval)

和 stringFromTimeInterval 函数:

 func stringFromTimeInterval(interval:NSTimeInterval) -> String {

    let ti = Int(interval)

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

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

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

}