我已经尝试下周开始和结束日期,但是我已经获得了本周的开始和结束日期。如何在Objective-c中获得下周的开始和结束日期。如何在Objective-c中获得下周的开始和结束日期?
0
A
回答
1
您可以使用下面的代码获得这个星期和下个星期的所有日期: -
NSArray * allDatesOfThisWeek = [self daysThisWeek];
NSArray * allDatesOfNextWeek = [self daysNextWeek];
以下方法用于计算该周的日期: -
-(NSArray*)daysThisWeek
{
return [self daysInWeek:0 fromDate:[NSDate date]];
}
-(NSArray*)daysNextWeek
{
return [self daysInWeek:1 fromDate:[NSDate date]];
}
-(NSArray*)daysInWeek:(int)weekOffset fromDate:(NSDate*)date
{
NSCalendar *calendar = [NSCalendar currentCalendar];
//ask for current week
NSDateComponents *comps = [[NSDateComponents alloc] init];
comps=[calendar components:NSWeekCalendarUnit|NSYearCalendarUnit fromDate:date];
//create date on week start
NSDate* weekstart=[calendar dateFromComponents:comps];
NSDateComponents* moveWeeks=[[NSDateComponents alloc] init];
moveWeeks.weekOfYear=weekOffset;
weekstart=[calendar dateByAddingComponents:moveWeeks toDate:weekstart options:0];
//add 7 days
NSMutableArray* week=[NSMutableArray arrayWithCapacity:7];
for (int i=1; i<=7; i++) {
NSDateComponents *compsToAdd = [[NSDateComponents alloc] init];
compsToAdd.day=i;
NSDate *nextDate = [calendar dateByAddingComponents:compsToAdd toDate:weekstart options:0];
[week addObject:nextDate];
}
return [NSArray arrayWithArray:week];
}
如果你想从今天获得下周的日期,然后通过weekOffset = 2像这样: -
NSArray * allDatesOfNextToNextWeek = [self daysInWeek:2 fromDate:now];
如果你希望从今天获得前一周的日期,然后通过weekOffset = -1是这样的: -
NSArray * allDatesOfPreviousWeek = [self daysInWeek:-1 fromDate:now];
希望,这是你在找什么。任何担心都会回到我身上。
0
NSCalendar
包含专用的方法来做到这一点,例如nextDateAfterDate:matchingUnit:value:options:
和dateByAddingComponents:toDate:options:
// Get the current calendar
NSCalendar *calendar = [NSCalendar currentCalendar];
// Get the next occurrence for the first weekday of the current calendar
NSDate *startOfNextWeek = [calendar nextDateAfterDate:[NSDate date] matchingUnit:NSCalendarUnitWeekday value:calendar.firstWeekday options:NSCalendarMatchStrictly];
// Create new date components +7 days and -1 seconds
NSDateComponents *endOfNextWeekComponents = [[NSDateComponents alloc] init];
endOfNextWeekComponents.day = 7;
endOfNextWeekComponents.second = -1;
// Add the date components to the start date to get the end date.
NSDate *endOfNextWeek = [calendar dateByAddingComponents:endOfNextWeekComponents toDate:startOfNextWeek options:NSCalendarMatchStrictly];
NSLog(@"%@ - %@", startOfNextWeek, endOfNextWeek);
相关问题
- 1. SQL:如何获取周开始日期和周结束日期
- 2. 如何获取本周的开始日期和结束日期?
- 3. 如何在JavaScript中获得ISO 8601周的开始和结束日期时间?
- 4. 如何在Postgres中获得daterange的开始和结束日期?
- 5. 使用纯javascript获取下周的开始和结束日期
- 6. 如何获取开始日期和结束日期之间的每周日期
- 7. 获取本周的开始日期和结束日期(星期一从星期一开始,星期日结束)
- 8. postgress:SQLQuery:每周开始和结束日期
- 9. Sql如何从5周开始日期和结束日期
- 10. 如何在Android中获取开始日期和结束日期?
- 11. 如何在sql中获取开始日期和结束日期?
- 12. Android中本周开始和结束日期的日期为
- 13. 如何获得起始日期和IOS一周的结束日期
- 14. 我如何获得去年的开始和结束日期?
- 15. 如何获得开始和结束日期之间的时间
- 16. 我如何获得开始日期和结束日期之间的月和年
- 17. Python获取本周的开始和结束日期
- 18. 如何获得从下一个星期日结束的周
- 19. 计算下一个X周周开始/结束日期
- 20. 如何获得开始从结束日期的事件的日期和结束日期
- 21. Rails - 获取当前周和月的开始日期和结束日期
- 22. 如何获取日期时间月开始和结束日期?
- 23. 得到每周的开始和结束日期,导致到当前日期
- 24. T-SQL - 根据周数获取开始和结束日期。
- 25. 如何获取给定开始日期和结束日期的中间日期?
- 26. 在javascript中获取从开始日期到结束日期的几周
- 27. 开始日期和结束日期datepicker
- 28. 开始日期和结束日期
- 29. java - 获取给定月份每周的开始日期和结束日期
- 30. 如何使用xslt获取特定日期的一周的开始和结束?
证明你有试过吗? –