Skip to content

Instantly share code, notes, and snippets.

@vikdenic
Created August 3, 2017 19:57
Show Gist options
  • Select an option

  • Save vikdenic/82851227786f4caef2a65cde7abfa494 to your computer and use it in GitHub Desktop.

Select an option

Save vikdenic/82851227786f4caef2a65cde7abfa494 to your computer and use it in GitHub Desktop.
extension Date {
func ageGeneration() -> SPKAgeGeneration {
let year = Calendar.current.component(.year, from: self)
if year < 1927 {
return .greatest
} else if year < 1946 {
return .silent
} else if year < 1965 {
return .boomer
} else if year < 1981 {
return .genX
} else if year < 2001 {
return .genY
}
return .genZ
}
}
enum SPKAgeGeneration: String { //Ranges based on http://marketingartfully.com/2014/10/08/customer-demographics-age-ranges-numbers/
case greatest = "Greatest Gen (1901 - 1926)"
case silent = "Silent Gen (1927 - 1945)"
case boomer = "Baby Boomers (1946 - 1964)"
case genX = "Gen X (1965 - 1980)"
case genY = "Gen Y (1981 - 2000)"
case genZ = "Gen Z (2001 - 2017)"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment