我想获得日期为 '2014-12-31' 的 weekofYear ,但它总是返回 1 而不是 52
这是我的代码:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekOfMonthCalendarUnit | NSWeekOfYearCalendarUnit;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:[NSDate date]];
NSlog(@"%i",dateComponent.weekOfYear);
output "1";
我知道结果是正确的,但我想要得到“52”而不是“1”,如何修复它?
另一种方法是使用yearForWeekOfYear
的财产NSDateComponents
实例。如果yearForWeekOfYear
是在传递给的日期的年份之后components:fromDate:
,那么现在是第 52 周。
E.g.
NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekOfMonthCalendarUnit | NSWeekOfYearCalendarUnit | NSYearForWeekOfYearCalendarUnit;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:[NSDate date]];
NSInteger weekOfYear = dateComponent.weekOfYear;
if (dateComponent.yearForWeekOfYear > dateComponent.year)
weekOfYear = 52;
NSLog(@"%i",weekOfYear); // 52
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)