Количество дней в данном году с помощью iPhone SDK?

Рекомендуется поместить метатег с кодировкой символов максимально высоко. Если кодирование не включено в (или отличается от), заголовок ответа требуемой страницы, браузер должен будет предположить, каково кодирование. Только, когда это находит этот метатег, это знает то, с чем это имеет дело, и это должно будет считать все, что это уже проанализировало снова.

Посмотрите, например Методы для указания на набор символов .

7
задан Leo Dabus 6 November 2017 в 05:00
поделиться

2 ответа

Если вы собираетесь использовать только григорианский календарь, вы можете рассчитать его вручную.

http://en.wikipedia.org/wiki/Leap_year#Algorithm

if year modulo 400 is 0 then leap
 else if year modulo 100 is 0 then no_leap
 else if year modulo 4 is 0 then leap
 else no_leap
5
ответ дан 6 December 2019 в 10:01
поделиться

Я наконец-то придумал решение, которое работает. Что я делаю, так это сначала вычисляю количество месяцев в году, а затем для каждого месяца вычисляю количество дней в этом месяце.

Код выглядит следующим образом:

NSUInteger days = 0;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *today = [NSDate date];
NSDateComponents *components = [calendar components:NSYearCalendarUnit fromDate:today];
NSUInteger months = [calendar rangeOfUnit:NSMonthCalendarUnit
                                   inUnit:NSYearCalendarUnit
                                  forDate:today].length;
for (int i = 1; i <= months; i++) {
    components.month = i;
    NSDate *month = [calendar dateFromComponents:components];
    days += [calendar rangeOfUnit:NSDayCalendarUnit
                           inUnit:NSMonthCalendarUnit
                          forDate:month].length;
}

return days;

Он не так аккуратен, как я надеялся, но он будет работать для любого календаря, такого как обычный грегорианский или исламский.

5
ответ дан 6 December 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: