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 );

それはExpectedValue-1を返します
。私が今日の値を送信しているtheYear、theMonth、theDayの値。
ただし、iOSの他のバージョン(4.3や5.0.1など)では、期待値が正しく返されます。解決策を教えてください。私はここで立ち往生しています。

4

1 に答える 1

0

答えを得ました-kCFCalendarUnitWeekのCFCalendarGetOrdinalityOfUnitは、iOSのバージョンごとに異なる値を返す可能性があります。したがって、weekDayを取得するには、特定の日付にNSDateFormatterを使用する必要があります。

于 2012-03-21T13:19:19.470 に答える