Рекомендуется поместить метатег с кодировкой символов максимально высоко. Если кодирование не включено в (или отличается от), заголовок ответа требуемой страницы, браузер должен будет предположить, каково кодирование. Только, когда это находит этот метатег, это знает то, с чем это имеет дело, и это должно будет считать все, что это уже проанализировало снова.
Посмотрите, например Методы для указания на набор символов .
Если вы собираетесь использовать только григорианский календарь, вы можете рассчитать его вручную.
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
Я наконец-то придумал решение, которое работает. Что я делаю, так это сначала вычисляю количество месяцев в году, а затем для каждого месяца вычисляю количество дней в этом месяце.
Код выглядит следующим образом:
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;
Он не так аккуратен, как я надеялся, но он будет работать для любого календаря, такого как обычный грегорианский или исламский.