Method to get difference between two dates :-
ex :-

static func getDateDifferenceforDate(_ pobjFirstDate: Date, andDate pobjLastDate: Date) -> String {
var strTime: String
let distanceBetweenDates: TimeInterval = pobjLastDate.timeIntervalSince(pobjFirstDate)
let secondsInAnHour: Double = 3600
let daysBetweenDates: Int = Int((distanceBetweenDates / secondsInAnHour) / 24)
let weekBetweenDate:Int = Int((distanceBetweenDates / secondsInAnHour) / (24*7))
if weekBetweenDate > 48{
strTime = "\(Int(weekBetweenDate)/4/12) \(STRYEARAGO)"
return strTime
}
if weekBetweenDate >= 4{
strTime = "\(Int(weekBetweenDate)/4) \(STRMONTHAGO)"
return strTime
}
if weekBetweenDate > 0{
strTime = "\(Int(weekBetweenDate)) \(STRWEEKAGO)"
return strTime
}
if daysBetweenDates > 0 && daysBetweenDates <= 1 {
strTime = "\(Int(daysBetweenDates)) \(STRDAYAGO)"
return strTime
}
else if daysBetweenDates > 0 {
strTime = "\(Int(daysBetweenDates)) \(STRDAYSAGO)"
return strTime
}
let hoursBetweenDates: Int = Int((distanceBetweenDates / secondsInAnHour))
if hoursBetweenDates > 0 && hoursBetweenDates <= 1 {
strTime = "\(Int(hoursBetweenDates)) \(STRHOURAGO)"
return strTime
}
else if hoursBetweenDates > 1 {
strTime = "\(Int(hoursBetweenDates)) \(STRHOURSAGO)"
return strTime
}
let minutesBetweenDates: Int = Int((distanceBetweenDates / secondsInAnHour) * 60)
if minutesBetweenDates > 0 && minutesBetweenDates <= 1 {
strTime = "\(Int(minutesBetweenDates)) \(STRMINUTEAGO)"
return strTime
}
else if minutesBetweenDates > 0 {
strTime = "\(Int(minutesBetweenDates)) \(STRMINUTESAGO)"
return strTime
}
if minutesBetweenDates == 0 {
strTime = STRFEWSECONDSAGO
return strTime
}
return STREMPTY
}