how to calculate the age based on the birth date in this format 6/24/1976 mon/date/year...
The method of calculating age involves the comparison of a person's date of birth with the date on which the age needs to be calculated. The date of birth is subtracted from the given date, which gives the age of the person. Age = Given date - Date of birth.
age = INT((INTCK("month",dob,now) - (DAY(dob) > DAY(now)))/12); Essentially, this formula determines the number of months between DOB and NOW, decides whether to subtract 1, and then divides by 12 (the number of months in a year) to get number of years.
Swift 3. func calcAge(birthday: String) -> Int { let dateFormater = DateFormatter() dateFormater. dateFormat = "MM/dd/yyyy" let birthdayDate = dateFormater. date(from: birthday) let calendar: NSCalendar!
Many of these answers don't properly account for leap years and such, best is to use Apple's methods instead of dividing by constants.
let birthday: NSDate = ... let now = Date() let ageComponents = calendar.dateComponents([.year], from: birthday, to: now) let age = ageComponents.year
NSDate* birthday = ...; NSDate* now = [NSDate date]; NSDateComponents* ageComponents = [[NSCalendar currentCalendar] components:NSCalendarUnitYear fromDate:birthday toDate:now options:0]; NSInteger age = [ageComponents year];
I think this is cleaner and more accurate than any of the other answers here.
Edit
Increase accuracy by setting both birthday
and now
to noon. Here is one way to do that with a Date
extension (in Swift)...
/// Returns a new date identical to the receiver except set to precisely noon. /// Example: let now = Date().atNoon() func atNoon() -> Date { var components = (Calendar.current as NSCalendar).components([.day, .month, .year, .era, .calendar, .timeZone], from: self) components.hour = 12 components.minute = 0 components.second = 0 components.nanosecond = 0 return Calendar.current.date(from: components)! }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With