将不推荐使用的代码从 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)
}
我正在尝试更新已弃用的代码:
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)
}