Получите все дни любого месяца с целью-c

Попробуйте bash встроенная справка:


$ help for

for: for NAME [in WORDS ... ;] do COMMANDS; done
    The `for' loop executes a sequence of commands for each member in a
    list of items.  If `in WORDS ...;' is not present, then `in "$@"' is
    assumed.  For each element in WORDS, NAME is set to that element, and
    the COMMANDS are executed.
for ((: for (( exp1; exp2; exp3 )); do COMMANDS; done
    Equivalent to
        (( EXP1 ))
        while (( EXP2 )); do
            COMMANDS
            (( EXP3 ))
        done
    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is
    omitted, it behaves as if it evaluates to 1.


16
задан gerry3 19 November 2009 в 10:57
поделиться

2 ответа

Ответ Карла работает на Mac. Следующее работает на Mac или iPhone (там нет dateWithNaturalLanguageString: ).

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];

// Set your year and month here
[components setYear:2015];
[components setMonth:1];

NSDate *date = [calendar dateFromComponents:components];
NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];

NSLog(@"%d", (int)range.length);
60
ответ дан 30 November 2019 в 15:17
поделиться

Вы можете указать дату практически с любой строкой:

NSDate *date = [NSDate dateWithNaturalLanguageString:@"January"];

Тогда остальная часть вашего кода будет работать как есть, чтобы вернуть вам NSRange для номера дней в январе.

2
ответ дан 30 November 2019 в 15:17
поделиться