如何在目标 C 编码中获得第一个星期日或第 n 个星期日或星期一(任何一天)日期。
例如:-我只想每年在我的应用程序中显示友谊日的日期。
但是,友谊是在八月的第一个星期天到来的。所以,日期每年都会改变。在这里,我需要找到每年 8 月第一个星期日的日期。
是否有任何逻辑可以找到第 n 个星期日的日期。
最佳答案
您需要创建一个 NSDateComponents 对象并设置适当的值,
在 You 示例中,您将执行以下操作:
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.year = 2011; // set the current year or whatever year you want here
dateComponents.month = 8;
dateComponents.weekday = 1; // sunday is 1, monday is 2, ...
dateComponents.weekdayOrdinal = 1; // this means, the first of whatever weekday you specified
要将其转换为 NSDate 对象,您只需执行以下操作:
//you may want to use another calendar object here
NSDate *myDate = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
[dateComponents release]; //don't forget memory management ;)