Created
December 25, 2017 03:01
-
-
Save ProgramAlgo/2ab2e9bbddd895c79ee55c06a6be813c to your computer and use it in GitHub Desktop.
remind birthday one month
This file contains 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
func checkDates(birthdays: [Date], today: Date, days: Int) -> Set<Date> { | |
let calendar = Calendar.current | |
let thisYear = calendar.component(.year, from: today) | |
var celebrateList = Set<Date>() | |
var datesToCheck: ClosedRange<Date> { | |
return today...today.addingTimeInterval(3600*24*Double(days)) | |
} | |
for birthday in birthdays { | |
var dateCompenents = calendar.dateComponents([.year, .month, .day], from: birthday) | |
dateCompenents.year = thisYear | |
let birthdayOfThisYear = calendar.date(from: dateCompenents) | |
if let birthdayOfThisYear = birthdayOfThisYear, datesToCheck.contains(birthdayOfThisYear) { | |
celebrateList.insert(birthday) | |
} | |
} | |
return celebrateList | |
} |
AndreaVEH
commented
Dec 25, 2017
- change datesToCheck from computed variable to immutable stored variable.
- check days to ensure it to be equal of greater than 0.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment