0

我在 iOS 5.0 (9A334) 中遇到了一个奇怪的问题。问题是我使用 CFCalendarGetOrdinalityOfUnit 来获取特定日期的星期几。

CFCalendarRef theCalendar = CFCalendarCopyCurrent();
CFAbsoluteTime newTime = 0;
const char format[] = "yMdHms";
CFCalendarComposeAbsoluteTime (theCalendar,&newTime,format,theYear, theMonth,theDay, 0, 0, 0);
NSInteger lastDayOfWeekInPreviousMonth = 
CFCalendarGetOrdinalityOfUnit (calendar,kCFCalendarUnitDay,kCFCalendarUnitWeek,absTime );

它返回 theExpectedValue - 1。
我发送今天的值的 theYear、theMonth、theDay 的值。
但在其他版本的 iOS(如 4.3 和 5.0.1)中,它会正确返回预期值。请给我一个解决方案。我被困在这里。

4

1 回答 1

0

得到了答案 - kCFCalendarUnitWeek 的 CFCalendarGetOrdinalityOfUnit 可能会为不同版本的 iOS 返回不同的值。所以我们必须在特定日期使用 NSDateFormatter 来获取工作日。

于 2012-03-21T13:19:19.470 回答