代码之家  ›  专栏  ›  技术社区  ›  Manimaran

如何在目标c中查找一个月中的星期五和一个月的日期

  •  1
  • Manimaran  · 技术社区  · 11 年前

    我正在开发一款使用日期、月份、年份的应用程序。我想要当前月份的星期五日期和当前月份的日期,因为当前月份可以有28、29、30、31天。我试着用当前年份来计算当前年份的月份。但我不知道上面的代码。这是我的密码。

    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];
    }
    
    1 回复  |  直到 11 年前
        1
  •  0
  •   Toseef Khilji    11 年前

    您可以使用 NSDateComponents NSCalendar's 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);
    
            }
    
        }