Created
August 3, 2017 19:58
-
-
Save vikdenic/df88cb6f618bae193f9983bdae7d63fb to your computer and use it in GitHub Desktop.
Return Age Generation (i.e. Baby Boomer) from Date
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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