Ich habe den folgenden Code:Generierung von Anfang und Ende des Monats. Swift 2
func rangeOfPeriod(period: NSCalendarUnit, date: NSDate) -> (NSDate, NSDate) {
let calendar = NSCalendar.currentCalendar()
var startDate: NSDate? = nil
var duration: NSTimeInterval = 0
calendar.rangeOfUnit(period, startDate: &startDate, interval: &duration, forDate: date)
let endDate = startDate!.dateByAddingTimeInterval(duration - 1)
return (startDate!, endDate)
}
Wenn ich die folgenden Zeilen drucken:
print("Day test = \(rangeOfPeriod(.Day, date: NSDate()))")
print("Week test = \(rangeOfPeriod(.WeekOfYear, date: NSDate()))")
print("month test = \(rangeOfPeriod(.Month, date: NSDate()))")
print("Year test = \(rangeOfPeriod(.Year, date: NSDate()))")
Alle von ihnen, wie abgesehen von Monat erwartet.
Ich bekomme 'Monatstest = (2016-03-01 00:00:00 +0000, 2016-03-31 22:59:59 +0000)' als Ergebnis und es scheint eine Stunde zu fehlen. Für die Zeit für alle anderen bekomme ich '2016-03-26 23:59:59 +0000'.
Jede mögliche Hilfe
Mögliche Duplikat [ersten und letzten Tag des laufenden Monats in swift] genauer ist (http://stackoverflow.com/questions/ 33605816/Erster-und-letzter-Tag-des-aktuellen-Monats-in-Swift) –
Sommerzeit – Sulthan