【发布时间】:2017-01-19 19:22:11
【问题描述】:
我正在尝试创建一个日/月 UIPickerView,没有年份。目标是选择一天/一个月来列出该天/月发生的历史事件。
[NSCalendar currentCalendar]maximumRangeOfUnit:NSCalendarUnitDay]
将获得任何一个月的最大天数,即公历中的 31 天。我真正想要的是类似于
[calendar maximumRangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarMonth unit:2]
这将在公历二月返回 29。
据我所知,关闭的唯一东西有一个 forDate: 这没有帮助。一个快速的技巧是将它用于 8 年范围内的日期(以处理非闰年世纪),但这不适用于具有不同闰年规则的其他日历类型。
关于如何实现这一点的任何建议?
【问题讨论】:
-
您能否详细介绍一下您在选择器中显示的内容以及您如何使用它?您的选择器是否显示年份以及日期和月份?
-
如前所述,日/月,根本不显示年份,如果包含年份,则不会存在问题,因为可以使用现有的 UIDatePicker 或 forDate: 消息将解决问题。
-
@DavidKnight - 我相信他的问题是,他想要 29 年 2 月,不管他是否碰巧在 2017 年 2 月 1 日这样做,只有 28 天(因此他评论重复这个8 年,但担心这对于非公历可能还不够)。
标签: ios objective-c cocoa nscalendar