Ich versuche, einen Tag/Monat UIPickerView, kein Jahr zu erstellen. Das Ziel ist, einen Tag/Monat auszuwählen, um historische Ereignisse aufzulisten, die an diesem Tag/Monat passiert sind.Maximale Tage in einem Monat mit NSCalendar
wird die maximale Anzahl von Tagen in jedem Monat erhalten, d. H. 31 im Gregorianischen Kalender. Was ich wirklich will, ist etwas in Richtung
[calendar maximumRangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarMonth unit:2]
, die 29 für Februar im Gregorianischen Kalender zurückkehren würde.
Von dem, was ich sehen kann, hat das einzige in der Nähe ein forDate: was nicht hilfreich ist. Ein schneller Hack wäre, das für ein Datum in einem Bereich von 8 Jahren zu verwenden (um nicht Schaltjahre Jahrhunderte zu behandeln), aber das würde für andere Kalendertypen mit unterschiedlichen Schaltjahrregeln nicht funktionieren.
Haben Sie Vorschläge, wie Sie dies erreichen können?
Können Sie etwas erweitern, was Sie im Picker zeigen und wie Sie ihn verwenden? Zeigt Ihr Picker ein Jahr sowie einen Tag und einen Monat an? –
Wie angegeben, Tag/Monat, überhaupt kein Jahr, wenn ein Jahr enthalten wäre, würde das Problem nicht bestehen, da der vorhandene UIDatePicker verwendet werden könnte oder die forDate: -Nachricht das Problem lösen würde. –
@DavidKnight - Seine Frage, glaube ich, ist, dass er 29 für Februar will, unabhängig davon, ob er dies am 1. Februar 2017 tut, das nur 28 Tage hat (daher sein Kommentar, dies für 8 Jahre zu wiederholen, aber besorgt darüber dies ist für nicht-Gregorianische Kalender möglicherweise nicht ausreichend). – Rob