Я работаю над датой и временем, когда веду журнал входа в систему и выхода из нее. Например, Время входа в систему составляет 12:45, а время выхода из системы - 1:45, поэтому необходимо проверить, сколько часов пользователь был в сети. У меня есть и время, и ниже приведен код, в котором я пытаюсь проверить максимальные часы, добавляя, но я не получаю нужного мне результата.
//Current time
let formatter = DateFormatter()
formatter.timeStyle = .medium
formatter.dateStyle = .none
outTimeString = formatter.string(from: currentDateTime) as NSString
//LoggedIn Time
inTimeString = "12:49:50"
let inFormatter = DateFormatter()
inFormatter.dateFormat = "HH:mm:ss"
let outFormatter = DateFormatter()
outFormatter.dateFormat = "hh:mm"
let inTime = inTimeString
let date = inFormatter.date(from: inTime)!
let inStr = outFormatter.string(from: date)
print(inStr)->12:49:50
let outTime = outTimeString
let outDate = inFormatter.date(from: outTime as String)!
let outStr = outFormatter.string(from: outDate)
print(outStr)->16:10:15
//Adding 4 hour to logged in timw
let calendar = NSCalendar.current
let finaldate = date.addingTimeInterval(-4 * 60.0 * 60.0)
print(finaldate)->2000-01-01 03:19:50 +0000
Проблема в том, что я получаю неправильный вывод при добавлении 4 часов к зарегистрированному времени.
Мне нужно общее время входа в систему или добавить 4 часа к первоначальному времени входа в систему. Любой подойдет.
Помощь очень ценится.