Вы должны избегать выполнения расчетов с жестко закодированными значениями, такими как эта, где важны даты и время.Вместо этого гораздо лучше использовать методы, предоставляемые вам классом Calendar
.
Так что-то вроде этого:
func findTimeDiff2() {
let time1 = currentTimeOutlet
let time2 = alarmTimeOutlet
let formatter = DateFormatter()
formatter.dateFormat = "hh:mma"
let date1 = formatter.date(from: time1!.text!)
let date2 = formatter.date(from: time2!.text!)
let components = Calendar.current.dateComponents([.hour, .minute], from: date1!, to: date2!)
timeDiffOutlet.text = "\(abs(components.hour!)) hr and \(abs(components.minute!)) min"
}
Это означает, что такие ситуации, как переход на летнее время, будутдля вас, хотя в этом случае вы не знаете день, когда происходит сигнал тревоги, вы не сможете узнать, применяется ли переход на летнее время или нет.Было бы лучше использовать полную дату, а не только время.