Sehen Sie sich NSCalendars an Komponenten: fromDate: toDate: Optionen -Methode. Es erlaubt Ihnen, Daten zu subtrahieren und dann den Monatseigenschaftswert
zu extrahierenKomponenten: fromDate: toDate: Optionen funktionieren nicht korrekt für folgendes Beispiel:
Anfangsdatum: 1. Januar 2012 Enddatum: 31. März 2012.
Anzahl der Monate mit der obigen Methode = 2
Die richtige Antwort sollte 3 Monate sein.
Ich verwende den langen Weg der Berechnungen wie folgt: 1. Finden Sie die Anzahl der Tage im Anfangsmonat. Fügen Sie es dem Bruchteil des Monats hinzu. Wenn das erste Datum der Anfang des Monats ist, zählen Sie es als vollen Monat. 2. Finden Sie die Anzahl der Tage im Endmonat. Fügen Sie es dem Bruchteil des Monats hinzu. Wenn das Datum der letzte des Monats ist, zählen Sie es als vollen Monat. 3. Finden Sie die ganzen / vollen Monate zwischen den 2 Daten und fügen Sie sie zum ganzzahligen Teil des Monats hinzu. 4. Fügen Sie die Ganzzahl & amp; Teile der Monate aufteilen, um einen korrekten Wert zu erhalten.
Tags und Links objective-c cocoa date nsdate