[WIP] Birthdays

This commit is contained in:
Ilya Laktyushin
2024-03-22 12:08:27 +04:00
parent ff4fcc3ef0
commit cb7560a34e
47 changed files with 2243 additions and 133 deletions

View File

@@ -171,6 +171,24 @@ public func stringForCompactBirthday(_ birthday: TelegramBirthday, strings: Pres
return components.joined(separator: " ")
}
public func ageForBirthday(_ birthday: TelegramBirthday) -> Int? {
guard let year = birthday.year else {
return nil
}
var dateComponents = DateComponents()
dateComponents.day = Int(birthday.day)
dateComponents.month = Int(birthday.month)
dateComponents.year = Int(year)
let calendar = Calendar.current
if let birthDate = calendar.date(from: dateComponents) {
if let age = calendar.dateComponents([.year], from: birthDate, to: Date()).year {
return age
}
}
return nil
}
public enum RelativeTimestampFormatDay {
case today
case yesterday