首先,你想要
Date
两个字符串的对象:
let string1 = "13:00"
let string2 = "15:30"
guard let time1 = time(from: string1), let time2 = time(from: string2) else {
print("not valid time strings")
return
}
哪里
private let timeFormatter: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm"
formatter.locale = Locale(identifier: "en_US_POSIX")
return formatter
}()
private func time(from timeString: String) -> Date? {
return timeFormatter.date(from: timeString)
}
然后,如果希望它是格式良好的字符串,可以使用
DateComponentsFormatter
:
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute]
let string = formatter.string(from: time1, to: time2)!
屈服:
2: 30个
或者,如果希望小时和分钟作为数值,可以使用
Calendar
方法
dateComponents(_:from:to:)
:
let components = Calendar.current.dateComponents([.hour, .minute], from: time1, to: time2)
let hour = components.hour!
let minutes = components.minute!