iPhone Date Picker将于12月27日推出至2010年?

Tay*_*lor 12 iphone date uidatepicker

所以我在我的一个应用程序中实现了一个UIDatepicker,用于调度和自动调整电话会议...除了测试之外我还注意到,当测试我注意到当日期从12月26日到12月27日结束时,年份变为2010年.

我甚至把它推到了2011年...当12月25日变为26日时,它会发生变化....但等等......在2012年12月31日 - 1月1日正确翻身......然后再回到2013年29日至30日.是否存在某种天文现象,我不知道发生了什么,或者苹果公司是否运行了一些我不知道的疯狂Heechee日历?日历应用程序正常工作......

最可能的解释是,我错过了一些非常明显的东西,当我意识到这一点时,我会打耳光.但是,嘿,我还没有睡觉......哇我不记得是不是两天或三天了.可惜并帮助我.

更新:也许这不是简单的事情.还在这里寻找答案!我真的是唯一经历过这种情况的人吗?我敢打赌,当12月底到来时,更多的人会遇到同样的障碍.

更新2:任何人?仍在寻找,仍未找到......

更新3:还没有找到解决方案.来吧!这是一个有趣的谜题!

更新4:仍未找到答案.我已经提交了应用程序,现在它已经在appstore中了.仍然希望看到这个问题解决,所以我可以更新应用程序.

vik*_*kas 3

可能会有这样的问题,当你在该月的最后一周,并且该周距离当月还剩不到 7 天时,那么 API 可能会将该周视为下个月的第一周。由于2012年12月的最后一周已经有7天了,该月没有问题。

我在这里遇到了同样的问题,我解决了。

- (int) currentWeekOfMonth
{
    return CFCalendarGetOrdinalityOfUnit (
           CFCalendarCopyCurrent(),
           kCFCalendarUnitWeek,
           kCFCalendarUnitMonth,
           [self absoluteTime]);
}
Run Code Online (Sandbox Code Playgroud)

我的要求是显示周数,为此我计算该月第一周的周数,并将其添加到该月的总周数中。

int currentWeekNumberInYear =   [_calendarInfo currentWeekOfYear];
int currentWeekNumberInMonth = [_calendarInfo currentWeekOfMonth];
currentWeekNumberInYear = currentWeekNumberInYear-currentWeekNumberInMonth +1;
currentWeekNumberInYear = currentWeekNumberInYear<0 ? (NSInteger)[_calendarInfo weeksInMonth] ==5 ?49:48   : currentWeekNumberInYear;
Run Code Online (Sandbox Code Playgroud)

我希望它对你有用。