Ich arbeite an der Entwicklung von ios und ich finde es wirklich schwer zu überprüfen, ob zwei NSDates vom selben Tag sind. Ich habe versucht, dieseWie man überprüft, ob zwei NSDates vom selben Tag sind
fetchDateList()
// Check date
let date = NSDate()
// setup date formatter
let dateFormatter = NSDateFormatter()
// set current time zone
dateFormatter.locale = NSLocale.currentLocale()
let latestDate = dataList[dataList.count-1].valueForKey("representDate") as! NSDate
//let newDate = dateFormatter.stringFromDate(date)
let diffDateComponent = NSCalendar.currentCalendar().components([NSCalendarUnit.Year, NSCalendarUnit.Month, NSCalendarUnit.Day], fromDate: latestDate, toDate: date, options: NSCalendarOptions.init(rawValue: 0))
print(diffDateComponent.day)
zu verwenden, aber es überprüft nur, ob zwei NSDates einen Unterschied von 24 Stunden hat. Ich denke, es gibt einen Weg, es zum Laufen zu bringen, aber trotzdem möchte ich NSDate-Werte vor 2 Uhr morgens haben, um am Vortag gezählt zu werden, also brauche ich hier definitiv Hilfe. Vielen Dank!
Minor Update: In Swift 3.0 Xcode 8.2 Syntax:' if NSCalendar.current.isDate (date1, inSameDayAs: date2) == true) {// Mach dein Zeug} ' – KuboAndTwoStrings
Es scheint nicht für bestimmte Daten wie' 2017-06-12T00: 00: 00.000Z' und '2017-06-12T23: 59: 59.999Z' ->" 23:59 zu arbeiten : 59 "fällt aus irgendeinem Grund in den nächsten Tag (meine Zeitzone ist +2 und 21:59:59 funktioniert gut). Scheint, etwas mit Zeitzonen zu tun, aber ich habe nicht herausgefunden, wie es funktioniert. –
Ist das ein DST-Übergang? Wenn dieser Tag nur 23 Stunden hat. –