Ios 如何在目标c中查找一个月的星期五和一个月的日期
我正在开发一个使用日期、月份、年份的应用程序。我想要当前月份的星期五日期和当前月份的日期,因为当前月份可以有28、29、30、31天。我已尝试使用本年度获取本年度月份。但我不知道上面的代码。这是我的密码Ios 如何在目标c中查找一个月的星期五和一个月的日期,ios,objective-c,nsdate,nsdateformatter,Ios,Objective C,Nsdate,Nsdateformatter,我正在开发一个使用日期、月份、年份的应用程序。我想要当前月份的星期五日期和当前月份的日期,因为当前月份可以有28、29、30、31天。我已尝试使用本年度获取本年度月份。但我不知道上面的代码。这是我的密码 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; NSDate *today = [NSDate date]; NSCalendar *currentCalend
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *today = [NSDate date];
NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents *yearComponents = [currentCalendar components:NSYearCalendarUnit fromDate:today];
int currentYear = [yearComponents year];
for(int months = 0; months < 12; months++)
{
NSString *monthName = [NSString stringWithFormat:@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear];
NSLog(@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear);
[monthArray addObject:monthName];
}
NSDateFormatter*dateFormatter=[[NSDateFormatter alloc]init];
NSDate*今天=[NSDate日期];
NSCalendar*currentCalendar=[NSCalendar currentCalendar];
NSDateComponents*yearComponents=[currentCalendar components:NSYearCalendarUnit fromDate:today];
int currentYear=[yearComponents year];
对于(整数个月=0;个月<12;个月++)
{
NSString*monthName=[NSString stringWithFormat:@“%@%i”,[[dateFormatter monthSymbols]对象索引:月份],当前年份];
NSLog(@“%@%i”,[[dateFormatter monthSymbols]对象索引:月份],当前年份);
[monthArray addObject:monthName];
}
您可以将NSDateComponents
与NSCalendar的
dateFromComponents
结合使用:方法:
试着像这样
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *c = [[NSDateComponents alloc] init];
[c setYear:2013];
[c setWeekday:6];//1=sun,2=mon .....
for (int i = 1; i <= 12; i++)
{
[c setMonth:i];
for (int j=1; j<=5; j++)
{
[c setWeekdayOrdinal:j];
NSDate *date = [gregorian dateFromComponents:c];
NSLog(@"Date[%i]: %@",i,date);
}
}
NSCalendar*gregorian=[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents*c=[[NSDateComponents alloc]init];
[c设定年份:2013年];
[c setWeekday:6]//1=太阳,2=周一。。。。。
对于(int i=1;i)它对我有效。你能给我关于获取当前月份日期的答案吗?只需将setMonth
设置为NSDateComponents的当前月份。我尝试过。但它只显示当前日期。:(NSDateComponents*d=[[NSDateComponents alloc]init];[d setYear:2013];[d setMonth:10];NSDate*date1=[gregorian dateFromComponents:d];NSLog(@“Date1:%@”,Date1);您是否尝试过使用setWeekday
进行循环?否。如果我添加了循环,如何通过循环的限制。因为一个月可以有28、29、30、31天??