0
möchte ich finden und Enddatum der Woche beginne ich Starttermin am Geting aber nicht richtig Enddatum der WocheEnd Date zeigt Wrong
startDate = NSDate().startOfWeek(2)
print(startDate)
endDate = startDate.endOfWeek(3)
print(endDate)
Ich erhalte dieses Startdatum finden -2016-07-04 Datum 06.30.00 0.000 und Ende - 5828963-12-20 00:00:00 +0000
extension NSDate {
func startOfWeek(weekday: Int?) -> NSDate? {
guard
let cal: NSCalendar = NSCalendar.currentCalendar(),
let comp: NSDateComponents = cal.components([.YearForWeekOfYear, .WeekOfYear], fromDate: self) else { return nil }
comp.to12pm()
cal.firstWeekday = weekday ?? 1
return cal.dateFromComponents(comp)!
}
func endOfWeek(weekday: Int) -> NSDate? {
guard
let cal: NSCalendar = NSCalendar.currentCalendar(),
let comp: NSDateComponents = cal.components([.WeekOfYear], fromDate: self) else { return nil }
comp.weekOfYear = 1
comp.day -= 1
comp.to12pm()
return cal.dateByAddingComponents(comp, toDate: self.startOfWeek(weekday)!, options: [])!
}
}
internal extension NSDateComponents {
func to12pm() {
self.hour = 12
self.minute = 0
self.second = 0
}
}
endOfWeek sollten Sie einfach ein neues Date Components Objekt erstellen: 'func endOfWeek (wochentag: Int) -> NSDate? { lassen cal = NSCalendar.currentCalendar() let comp = NSDateComponents() comp.weekOfYear = 1 comp.day = -1 comp.to12pm() return cal.dateByAddingComponents (comp, toDate: self.startOfWeek (Wochentag) !, Optionen: []) } ' –
Rufen Sie nicht to12pm() Methode auch in Ihrer Methode endOfWeek –
@LeoDabus Danke .. Seine Arbeit – Rishab