将弃用的代码从CFGregorianDate更新为CFCalendar或NSCalendar API

时间:2015-08-23 14:52:26

标签: nsdate swift2

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

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

我以为我可以简单地将格里高利日期更改为NSDate并使用dateByAddingTimeInterval:

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

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

我是否应该使用其他方法来替换CFAbsoluteTimeGetGregorianDate。我已经通过NSDate库并尝试但无处可去。

1 个答案:

答案 0 :(得分:0)

我将我的代码更改为以下内容,它就像一个魅力。我无法在网上找到这个,所以希望这会有助于其他人。

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)

}