I am getting the TimeInterval
from API, and getting the converted Date through the below code.
let dateObj = timeInterval.getSinceTimeAgoDate()) // ex: timeInterval = 1566203990527
extension TimeInterval {
func getSinceTimeAgoDate() -> String {
let date = Date(timeIntervalSince1970: self/1000)
return date.sortTimeAgoSinceDate()
}
}
func sortTimeAgoSinceDate() -> String {
// From Time
let fromDate = self
// To Time
let toDate = Date()
// Estimation
// Year
if let interval = Calendar.current.dateComponents([.year], from: fromDate, to: toDate).year, interval > 0 {
return "(interval)" + "y"
}
// Month
if let interval = Calendar.current.dateComponents([.month], from: fromDate, to: toDate).month, interval > 0 {
return "(interval)" + "M"
}
// Day
if let interval = Calendar.current.dateComponents([.day], from: fromDate, to: toDate).day, interval > 0 {
return "(interval)" + "d"
}
// Hours
if let interval = Calendar.current.dateComponents([.hour], from: fromDate, to: toDate).hour, interval > 0 {
return "(interval)" + "h"
}
// Minute
if let interval = Calendar.current.dateComponents([.minute], from: fromDate, to: toDate).minute, interval > 0 {
return "(interval)" + "m"
}
return "Just Now"
}
The above method give result : 4 year
While checking on https://www.epochconverter.com/ the result is 5 Year
Can some body check and let me know what I’m doing not right here.
with time interval 1566203990527
reult should be 5 year
Expected Result is
GMT: Monday, August 19, 2019 8:39:50.527 AM
Your time zone: Monday, August 19, 2019 2:09:50.527 PM GMT+05:30
Relative: 5 years ago