Skip to content

Instantly share code, notes, and snippets.

@akultomar17
Last active September 17, 2019 23:33
Show Gist options
  • Save akultomar17/8210340c4808e3d7a2bcb1c0fb4523b8 to your computer and use it in GitHub Desktop.
Save akultomar17/8210340c4808e3d7a2bcb1c0fb4523b8 to your computer and use it in GitHub Desktop.
func getReadableDate(timeStamp: TimeInterval) -> String? {
let date = Date(timeIntervalSince1970: timeStamp)
let dateFormatter = DateFormatter()
if Calendar.current.isDateInTomorrow(date) {
return "Tomorrow"
} else if Calendar.current.isDateInYesterday(date) {
return "Yesterday"
} else if dateFallsInCurrentWeek(date: date) {
if Calendar.current.isDateInToday(date) {
dateFormatter.dateFormat = "h:mm a"
return dateFormatter.string(from: date)
} else {
dateFormatter.dateFormat = "EEEE"
return dateFormatter.string(from: date)
}
} else {
dateFormatter.dateFormat = "MMM d, yyyy"
return dateFormatter.string(from: date)
}
}
func dateFallsInCurrentWeek(date: Date) -> Bool {
let currentWeek = Calendar.current.component(Calendar.Component.weekOfYear, from: Date())
let datesWeek = Calendar.current.component(Calendar.Component.weekOfYear, from: date)
return (currentWeek == datesWeek)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment