add function to calculate age

This commit is contained in:
Carlosokumu 2024-08-26 13:37:54 +03:00
parent 36d3f05a31
commit 90f6d26f6d
Signed by: carlos
GPG Key ID: 7BD6BC8160A5C953

21
internal/utils/age.go Normal file
View File

@ -0,0 +1,21 @@
package utils
import "time"
func CalculateAge(birthdate, today time.Time) int {
today = today.In(birthdate.Location())
ty, tm, td := today.Date()
today = time.Date(ty, tm, td, 0, 0, 0, 0, time.UTC)
by, bm, bd := birthdate.Date()
birthdate = time.Date(by, bm, bd, 0, 0, 0, 0, time.UTC)
if today.Before(birthdate) {
return 0
}
age := ty - by
anniversary := birthdate.AddDate(age, 0, 0)
if anniversary.After(today) {
age--
}
return age
}