Created
January 26, 2018 10:12
-
-
Save michaelevensen/baf0768b98b6823c465f5aa9096b8e13 to your computer and use it in GitHub Desktop.
Start and end of week with 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 { | |
var startOfWeek: Date? { | |
let gregorian = Calendar(identifier: .gregorian) | |
guard let sunday = gregorian.date(from: gregorian.dateComponents([.yearForWeekOfYear, .weekOfYear], from: self)) else { return nil } | |
return gregorian.date(byAdding: .day, value: 1, to: sunday) | |
} | |
var endOfWeek: Date? { | |
let gregorian = Calendar(identifier: .gregorian) | |
guard let sunday = gregorian.date(from: gregorian.dateComponents([.yearForWeekOfYear, .weekOfYear], from: self)) else { return nil } | |
return gregorian.date(byAdding: .day, value: 7, to: sunday) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment