Вычислить разницу во времени между двумя метками времени с Am и Pm дает мне неправильные отрицательные значения - PullRequest
0 голосов
/ 03 августа 2020

Если я вызываю эту функцию с двумя строками с одинаковым интервалом времени, все работает нормально, но когда я изменяю время 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...