- 595 名前:名称未設定 mailto:sage [2008/08/20(水) 23:24:37 ID:2x16Koxv0]
- NSCalendar, NSDateComponentsについて質問があります。
インスタンス変数としてNSDate *theDateを設定、NSDatePickerとバインドして NSDateComponentsの各プロパティを表示する実験をしました。 NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSEraCalendarUnit |NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit; NSDateComponents *comps = [calendar components:unitFlags fromDate:[self theDate]]; ....... [self setWeek:[comps week]]; ...... theDateを年末の53週に相当する日に設定するとNSDateComponentsのweekが 53ではなく1になることに気づきました。 NSCalendar *calendar = [NSCalendar currentCalendar]; NSRange range = [calendar maximumRangeOfUnit:NSWeekCalendarUnit]; NSLog(@"maximumRangeOfUnit:NSWeekCalendarUnit = %@", NSStringFromRange(range)); を実行すると、{1, 53}が返ってきますし、setWeek:で53を設定できるので、weekの値が52まで ということはないと思います。 これはバグなのでしょうか?それとも当方だけの問題でしょうか?
|

|