我正试图在一周内获得第一个日期,给出一年和一周的目标c。 我想考虑荷兰日历。星期一是本周的第一天。 就像它在MS Outlook中一样,我希望我的功能返回2012-01-02,当我通过2012年和1周作为周数时。
这就是我的尝试:
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
comps.year = 2012;
comps.weekOfYear = 1;
comps.weekday = 2;
NSDate *date = [cal dateFromComponents:comps];
我希望这个日期现在是2012-01-02 ...,但它会返回2012-12-30 23:00:00。当我将comps.weekday改为1时,它甚至会让我回到2013-01-05 23:00:00 ?? !!
这对我来说毫无意义。任何人都可以向我提供一些解释或者给我正确的代码吗?
解答:
这是我的解决方案:
[components setWeekOfYear:weekNr];
[components setYearForWeekOfYear:year];
[components setWeekday:2];