如何確定東海岸當前是否正在使用EST或EDT使用iPhone SDK?確定東海岸當前是通過iPhone SDK使用EST還是EDT
我知道NSTimeZone類,我嘗試了以下,但它沒有工作,結果是「東海岸不在DT」,它目前是。這使我相信,isDayLightSavingTime只是檢查其是否被傳遞的ST或DT值,而不是確定是否EST目前應該是EDT
NSTimeZone *easternTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"EST"];
if ([easternTimeZone isDaylightSavingTime]) {
NSLog(@"East coast is NOT on DT");
} else {
NSLog(@"East coast is on DT");
}
UPDATE:
的最終目標是,我需要能夠計算東部時區的當前正確時間,並考慮他們目前是否正在觀察夏令時。
更新2:
有趣的結果,當我改變
NSTimeZone *easternTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"EST"];
到
NSTimeZone *easternTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"EDT"];
仍然會返回 「東海岸是不是在DT」
'[easternTimeZone daylightSavingTimeOffset]'返回什麼? – kiamlaluno 2010-07-01 00:13:29
@Brent一般來說,API中的任何位置都定義了DST時間規則嗎? – 2010-07-01 00:21:09
@kiamlaluno 3600.0 – 2010-07-01 00:23:33