1

我正在开发一个使用日期、月份、年份的应用程序。我想要当前月份的星期五日期和当前月份的日期,因为当前月份可以有 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];
}
4

1 回答 1

0

您可以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);

        }

    }
于 2013-10-30T04:58:26.123 回答