2013-10-30 57 views
2

我正在开发一个使用日期,月份,年份的应用程序。我想要当前的月份星期五日期和当前月份日期,因为当前月份可能有28,29,30,31天。本年度我试图获得当年的月份。但我不知道上面的代码。这是我的代码。如何查找一个月中的星期五的日期和目标c中的一个月中的日期

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]; 
} 

回答

2

您可以结合使用NSDateComponentsNSCalendar'sdateFromComponents:方法:

尝试像类似,

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); 

     } 

    } 
+0

它为我工作。你能否给我答案以获得本月的日期? – Manimaran

+0

只需将'setMonth'设置为NSDateComponents的当前月份。 –

+0

我试过了。但它仅显示当前日期。 :(NSDateComponents * d = [[NSDateComponents的alloc] INIT]; [d setYear:2013]; [d setMonth:10]; 的NSDate *日期1 = [阳历dateFromComponents:d]; 的NSLog(@“日期1: %@“,date1); – Manimaran

相关问题