NSDate如何获得当前时区的当前分数/秒

时间:2011-10-15 19:03:56

标签: ios nsdate iphone-4 cgaffinetransform

我正试图获得当天的一天分数,以便在时钟表盘上对齐太阳。我可以像这样计算日期分数:

float dayFraction = (int)seconds%(86400+1)/86400.0;

当转换为弧度时,上面的等式会不断地为太阳周围的动画设置动画

此代码计算太阳的位置

CGAffineTransform transformHours = [self calculateLabelRelateivePositionFromCurrentTimeWithOffsetClockwiseInDegrees:((int)[NSDate timeIntervalSinceReferenceDate])%(86400+1)/86400.0*360 ];

问题是我需要获取当前时区的日期分数。下面的等式始终使用GMT时间。有没有办法轻松获取时间戳或当前时区偏移量以应用于时间戳这个帐户也非常适合夏令时时间!?

((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)

1 个答案:

答案 0 :(得分:1)

NSInteger secondsFromGMT = [[NSTimeZone localTimeZone] secondsFromGMT];