Erhalten Sie eine Genaue Zeitdifferenz Zwischen zwei NSDate?
Gibt es eine Möglichkeit, um herauszufinden, eine genaue Unterschied zwischen zwei NSDate
?
Habe ich Lösungen gefunden, aber Sie sind nicht genau genug. Ich muss berücksichtigen Sommerzeit, die Tatsache, dass verschiedene Monate haben eine unterschiedliche Anzahl von Tagen, etc.
Eine einfache Berechnung wie /60/60/24 etc. arbeiten aus Minuten, Stunden und Tage nicht berücksichtigt.
Lets sagen, dass ich zur Arbeit muss die Differenz zwischen der Zeit, gerade jetzt ([NSDate date]
) und 25. Dezember 10:22 UHR (Termin gewählt, indem der Benutzer mit Datum-picker [datePicker date]
) nur als Beispiel, wie kann ich dies tun?
Die Kenntnis der genauen Zeitdifferenz ist nicht der Schlüssel, so lange ich eine genaue Differenz von Tagen, Monaten und Jahren, es zu tun.
Kalendarischen Berechnung ist hart. Intelligente Menschen regelmäßig falsch. Die größte Falle ist, zu glauben, es einfach zu sein. Nehmen Sie es langsam und erwarten, dass Fehler auf dem Weg machen. Die Sache zu beachten ist Kakao bietet großartige Werkzeuge für doing it right, aber scheinbar nicht einfach bequem machen, was ich meine Werkzeuge. Schritt eins ist, Lesen und Las die docs und raten Ihr Verständnis. Es braucht ein klares Verständnis von Ihnen, um vollständig zu definieren, Ihre tatsächliche problem und Lösung. Es kann frustrierend sein, aber Sie bieten tools, die Sie zwingen, es richtig zu machen (nach ein wenig Kampf)
InformationsquelleAutor Josh Kahane | 2011-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom Apple Datum & Zeit-Programmierhandbuch:
Listing 12 Immer die Differenz zwischen zwei Datumsangaben
InformationsquelleAutor Darek Rossman
NSDate ist vollkommen unabhängig von der Zeitzone. Sommerzeit gar nicht ins Spiel kommen für NSDate. Nur, wenn Sie konvertiert NSDate in einer für Menschen lesbaren format (MM/DD/YY, HH:MM:SS-format oder dergleichen), hat Zeit-Zone kommen ins Bild.
Stellen Sie sicher, dass Sie berücksichtigen die korrekte Zeitzone, day-light-saving-Einstellung, wenn Sie erstellen NSDate(s). Anschließend werden die Methode, die
[date1 timeIntervalSinceDate:date2]
sollten immer geben Sie die genaue Zeit Unterschied.Sanjay Chaudhry' Antwort Ihre Frage beantwortet. Ich denke, Sie wollte nicht Fragen, eine Frage präzise genug.
InformationsquelleAutor Sanjay Chaudhry
So, die genauere Frage, die Sie gedacht, um Fragen war: Wie bekomme ich eine schön formatierte Tage, Monate, Jahre, aus einer Differenz zwischen zwei Datumsangaben. Erste, Sie wollen den nsTimerInterval (Zeitdifferenz in Sekunden) und dann format:
Wie kann ich brechen ein NSTimeInterval in Jahre, Monate, Tage, Stunden, Minuten und Sekunden auf dem iPhone?
InformationsquelleAutor ader
Kleines update auf den code für das neueste iOS:
InformationsquelleAutor Symanski