如何在Swift代码中将时间转换为十进制

时间:2015-11-07 18:51:20

标签: ios swift time

在@ 2:00:00打卡并在4:15:20推出,时间计算出来正确..时间= 2:15:20我希望能够将此乘以10.50,而我'我无法将时间转换为十进制,所以我可以很容易地将其加倍。

我做了很多对话,但没有一个有任何意义,需要帮助......

你能帮忙谢谢吗?

1 个答案:

答案 0 :(得分:0)

试试这样:

let startString = "2:00:00"
let endString = "4:15:20"

func secondsFromMidnight(input:String) -> Int {
    let comps = input.componentsSeparatedByString(":")
    let h = (Int(comps.first!) ?? 0) * 3600
    let m = (Int(comps[1]) ?? 0) * 60
    let s = Int(comps.last!) ?? 0
    return h + m + s
}


let start = secondsFromMidnight(startString)
let end = secondsFromMidnight(endString)

let elapsedTime = Double( end - start )

let dateComponentsFormatter = NSDateComponentsFormatter()

dateComponentsFormatter.allowedUnits = [.Hour,.Minute,.Second]

dateComponentsFormatter.stringFromTimeInterval(elapsedTime)  // "2:15:20"

let result = elapsedTime * 10.5