给出一年和一周的第一个星期日期

时间:2012-01-04 20:02:32

标签: objective-c nscalendar nsdatecomponents

我正试图在一周内获得第一个日期,给出一年和一周的目标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];

0 个答案:

没有答案