Я пытаюсь получить дневную долю текущего дня, чтобы выровнять солнце по часовой стрелке.Я могу рассчитать дневную долю следующим образом:
float dayFraction = (int)seconds%(86400+1)/86400.0;
Приведенное выше уравнение при преобразовании в радианы будет непрерывно анимировать солнце круглосуточно
Этот код вычисляет, где расположить солнце
CGAffineTransform transformHours = [self calculateLabelRelateivePositionFromCurrentTimeWithOffsetClockwiseInDegrees:((int)[NSDate timeIntervalSinceReferenceDate])%(86400+1)/86400.0*360 ];
Проблема в том, что мне нужно получить дневную долю для текущего часового пояса.Уравнение ниже всегда использует время по Гринвичу .Есть ли способ легко получить временную метку или текущее смещение часового пояса для применения к временной метке Было бы здорово иметь эту учетную запись для перехода на летнее время время тоже!?
((int)[NSDate timeIntervalSinceReferenceDate])%(86400+1)/86400.0
Обновление: Спасибо за предложение, в итоге я использовал следующий код:
int gmtOffset = [[NSTimeZone localTimeZone] secondsFromGMT];
int daylightOffset = [[NSTimeZone localTimeZone] daylightSavingTimeOffset];
int daySecond = [NSDate timeIntervalSinceReferenceDate]+gmtOffset+daylightOffset)%
(86400 + 1)