@@ -33,7 +33,7 @@ extension Date {
3333 while date <= toDate {
3434 dates. append ( date)
3535 guard let newDate = Calendar . current. date ( byAdding: . day, value: 7 , to: date) else { break }
36- date = newDate
36+ date = newDate. startOfWeek
3737 }
3838 return dates
3939 }
@@ -55,17 +55,16 @@ extension Date {
5555 var datesInWeek : [ Date ] {
5656 var dates : [ Date ] = [ ]
5757 for i in 0 ..< 7 {
58- if let date = Calendar . current. date ( byAdding: . day , value: i, to: startOfWeek) {
58+ if let date = Calendar . current. date ( byAdding: . weekday , value: i, to: startOfWeek) {
5959 dates. append ( date)
6060 }
6161 }
6262 return dates
6363 }
6464
6565 var isToday : Bool {
66- let gregorian = Calendar ( identifier: . gregorian)
67- let currentDate = gregorian. dateComponents ( [ . day, . month, . year] , from: self )
68- let today = gregorian. dateComponents ( [ . day, . month, . year] , from: Date ( ) )
66+ let currentDate = Calendar . current. dateComponents ( [ . day, . month, . year] , from: self )
67+ let today = Calendar . current. dateComponents ( [ . day, . month, . year] , from: Date ( ) )
6968 return currentDate == today
7069 }
7170
@@ -88,9 +87,8 @@ extension Date {
8887 }
8988
9089 var startOfWeek : Date {
91- var gregorian = Calendar ( identifier: . gregorian)
92- gregorian. firstWeekday = 1
93- let monday = gregorian. date ( from: gregorian. dateComponents ( [ . yearForWeekOfYear, . weekOfYear] , from: self ) )
90+ let current = Calendar . current
91+ let monday = current. date ( from: current. dateComponents ( [ . yearForWeekOfYear, . weekOfYear] , from: self ) )
9492 return monday!
9593 }
9694
0 commit comments