Если я вызываю эту функцию с двумя строками с одинаковым интервалом времени, все работает нормально, но когда я изменяю время AM и Pm для каждого, разница будет отрицательной
Пример: я вызываю функцию ниже, используя две строки
1- 13:40
2-8:05
разница составляет -5 ч и -35 мин
func findDateDiff(time1Str: String, time2Str: String) -> NSMutableAttributedString {
let timeformatter = DateFormatter()
timeformatter.dateFormat = "hh:mm a"
timeformatter.locale = Locale(identifier: "en_US_POSIX")
timeformatter.timeZone = TimeZone(secondsFromGMT: 0)
let time1 = timeformatter.date(from: time1Str)
let time2 = timeformatter.date(from: time2Str)
let interval = time2!.timeIntervalSince(time1!)
let hour : Int = Int(interval / 3600);
__ negative -5 __
let minute : Int = Int(interval.truncatingRemainder(dividingBy: 3600) / 60)
__ negative -35 __
let finalMutableString = NSMutableAttributedString()
let hourNumberPartString = NSAttributedString(string: "\(hour)" , attributes: [NSAttributedString.Key.font: UIFont(name: "Segoe UI", size: 40)!,NSAttributedString.Key.foregroundColor: UIColor.black])
let minNumberPartString = NSAttributedString(string: "\(minute)", attributes: [NSAttributedString.Key.font: UIFont(name: "Segoe UI", size: 40)!,NSAttributedString.Key.foregroundColor: UIColor.black])
let hourLabel = NSAttributedString(string: "HR", attributes: [NSAttributedString.Key.font: UIFont(name: "Segoe UI", size: 17)!,NSAttributedString.Key.foregroundColor: UIColor.black])
let minLabel = NSAttributedString(string: "MIN", attributes: [NSAttributedString.Key.font: UIFont(name: "Segoe UI", size: 17)!,NSAttributedString.Key.foregroundColor: UIColor.black])
finalMutableString.append(hourNumberPartString)
finalMutableString.append(hourLabel)
finalMutableString.append(minNumberPartString)
finalMutableString.append(minLabel)
return finalMutableString
}