import Foundation
let calendar = NSCalendar.currentCalendar()
let noonToday = calendar.dateBySettingHour(12, minute: 0, second: 0, ofDate: NSDate(), options: [])!
let noonishTomorow = calendar.dateByAddingUnit(.Day, value: 1, toDate: noonToday, options: [])!
let midnight = calendar.startOfDayForDate(noonishTomorow)
let components = calendar.components([.Hour, .Minute], fromDate: NSDate(), toDate: midnight, options: [])
let hoursUntilMidnight = components.hour
let minutesUntilMidnight = components.minute
Sie haben wirklich vorsichtig sein mit „Mitternacht“, weil es nicht immer existiert, manchmal ist es doppelt vorhanden, etc ... Das ist, warum Apple immer empfiehlt stattdessen mit Mittag arbeiten, wie ich oben tun.
Vermeiden Sie jede Antwort, die Ihnen sagt, die Stunde explizit auf Mitternacht zu setzen und dann subtrahieren. Du hast gerade die Stunde gesagt, aber ich habe dir Minuten gegeben, falls du sehen müsstest, wie das geht.
Der 'Foundation'-Import erfolgt unter OS X. Wenn Sie iOS verwenden, lassen Sie diese Zeile einfach weg, da Sie UIKit bereits integriert haben. – Gargoyle