Swift-小时/分钟/秒至整数转换

时间:2019-03-30 13:17:11

标签: ios swift

我想将小时/分钟/秒转换为整数

7小时30分钟5秒

2 个答案:

答案 0 :(得分:0)

您可以使用 split()

import Foundation

func getSecondsFromString(timeString: String) -> (Int) {
  let timeParts = timeString.replacingOccurrences(of: "[^0-9]", with: " ", options: [.regularExpression])
                            .split(separator: " ")
                            .map{Int($0)!}
  return timeParts[0] * 3600 + timeParts[1] * 60 + timeParts[2]
}

print(getSecondsFromString(timeString: "7 Hours 30 Minutes 5 Seconds"))

输出:

27005

答案 1 :(得分:0)

如果您使用timeIntervalSince以秒为单位计算了两个日期之间的时差,则可以直接将其转换为小时数,作为一次

let hours: Double =  elapsedTime / 3600 // 7.501388...

在您的示例中为7.5,然后可以将其与小时费率相乘。如果您出于某些原因只想使用完整时间,则可以四舍五入到最接近的完整时间

let fullHours = round(hours) // 8.0

或者如果您想截断分钟并保留小时,则可以从头开始进行整数除法

let hours: Int =  elapsedTime / 3600 // 7