我已經嘗試下週開始和結束日期,但是我已經獲得了本週的開始和結束日期。如何在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. 如何在Postgres中獲得daterange的開始和結束日期?
- 2. 使用純javascript獲取下週的開始和結束日期
- 3. postgress:SQLQuery:每週開始和結束日期
- 4. Sql如何從5周開始日期和結束日期
- 5. 如何在Android中獲取開始日期和結束日期?
- 6. Android中本週開始和結束日期的日期爲
- 7. 我如何獲得去年的開始和結束日期?
- 8. 我如何獲得開始日期和結束日期之間的月和年
- 9. 如何獲得從下一個星期日結束的周
- 10. Rails - 獲取當前周和月的開始日期和結束日期
- 11. T-SQL - 根據週數獲取開始和結束日期。
- 12. 如何獲取給定開始日期和結束日期的中間日期?
- 13. 在javascript中獲取從開始日期到結束日期的幾周
- 14. 開始日期和結束日期datepicker
- 15. 如何在angularjs中獲取明智的開始日期和結束日期
- 16. 在開始/結束日期
- 17. 給定calendar.week_of_year,如何獲取本週開始和結束的日期?
- 18. 在下拉列表中顯示周開始和結束日期asp.net
- 19. 開始日期和結束日期之間的表中的週末活動
- 20. 如何在JS中使用任意日期時間獲得一週的開始和結束?
- 21. 獲取某月份的開始日期和結束日期
- 22. 獲取重疊的開始日期和結束日期
- 23. glyphicon日曆開始和結束日期
- 24. 如何計算結束和開始周?
- 25. 如何獲得下週日期在JavaScript
- 26. 如何獲取夏令時開始和結束的日期?
- 27. 如何獲取一年的開始和結束日期?
- 28. 我怎麼能得到一週的開始日期和結束日期從任何給定日期
- 29. PHP獲取52周開始/結束日期爲特定年份
- 30. 如何獲得SQL Server中兩個日期之間的開始日期和結束日期
證明你有試過嗎? –