Age is not as straight forward as we might think. So will "Leaplings" born on February 29th demonstrate.
The leap day was introduced in 1582 to overcome a slight tilt in the earth's rotation which makes a year approximately 365.2422 days long.
After 1582 there leap days are celebrated every 4 years and skipped for years divisible by 100 unless they're also divisible by 400, like the year 2000.
Create a custom field with a simple age calculation
- Round(DayDiff([Date of Birth],now())/365.25,2)
The age may be a couple of days off but this accuracy should be good for most use cases.
If you are looking to congratulate someone in their exact birth day you may use this more exact and elaborate solution:
- You build the elasticube daily
- You count age in whole numbers
- Any leap-year babies celebrate birthday on Feb 28th every year
- Birthdate Modified
WHEN Getday([Birthdate])=29 AND getmonth([Birthdate])=2 THEN adddays([Birthdate],-1) --move any feb29 to feb28
WHEN getmonth([Birthdate Modified])>=getmonth(now()) AND getday([Birthdate Modified])>=getday(now()) THEN yeardiff(now(),[Birthdate Modified]) --celebrated birthday already this year
ELSE yeardiff(now(),[Birthdate Modified])-1 --didn't celebrate birthday yet this year