![](/img/trans.png)
[英]How to get all the days/dates in current week, this month, this year using the current date (today) in iPhone
[英]Get an array of dates in a week with reference of current date
有沒有辦法參考當前日期在一周內獲取一組日期?
你能通過這個代碼請go,
NSDate *startDate = ...;
NSDate *endDate = ...;
unsigned int unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];
int months = [comps month];
int days = [comps day];
這是來自 Apple 的一個簡單示例。 更多細節
試試這對我來說很好用。 -(NSMutableArray *)getWeekDays{
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
NSInteger day = [weekdayComponents day];
NSInteger weekday = [weekdayComponents weekday];
int i=(int)weekday;
int start,end;
if(i==7)
{
start=6;
end=0;
}
else if(i==6)
{
start=5;
end=1;
}
else if(i==5)
{
start=4;
end=2;
}
else if(i==4)
{
start=3;
end=3;
}
else if(i==3)
{
start=2;
end=4;
}
else if(i==2)
{
start=1;
end=5;
}
else if(i==1)
{
start=0;
end=6;
}
NSDate *cdate=[NSDate date];
NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"dd/MM/yyyy EEEE"];
NSMutableArray *WeekDatesArr=[[NSMutableArray alloc] init];
for(start;start>0;start--)
{
NSDate *FirstDate=[cdate addTimeInterval:-(86400)*start];
NSString *str=[df stringFromDate:FirstDate];
[WeekDatesArr addObject:str];
}
for(int i=0;i<=end;i++)
{
NSDate *LastDate=[cdate addTimeInterval:(86400)*i];
NSString *str1=[df stringFromDate:LastDate];
NSLog(@"Str %@ ",str1);
[WeekDatesArr addObject:str1];
}
NSLog(@"Dates Description in week %@",WeekDatesArr);
return WeekDatesArr;
}
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.