當我打電話給NSTimeZone’s的縮寫方法它返回GMT-07:00
。然後,當我使用此值查找時區名稱或(time zone identifier)時,它將返回nil
。如何將時區偏移縮寫轉換爲官方時區標識符?
我需要檢索官方time zone identifier,例如America/Los_Angeles
。因此,如何將時區偏移縮寫(例如,GMT-07:00
)轉換爲官方時區標識?
這裏是我的代碼:
NSTimeZone* localTimeZone = [NSTimeZone localTimeZone];
NSString* localAbbreviation = [localTimeZone abbreviation];
NSDictionary* abbreviationDictionary = [NSTimeZone abbreviationDictionary];
NSString* timeZoneID =
[abbreviationDictionary objectForKey:localAbbreviation]; //should return 'America/Los_Angeles' if the abbreviation is ‘PDT’
這是不可能在我看來。有超過24個時區。時區偏移到實際時區的確切映射是不可能的。 –
順便說一句,在我的語言環境/位置調用'[[NSTimeZone localTimeZone]縮寫]''返回'@「CEST」'而不是數字偏移量。 –
感謝Ole,我得到GMT-07:00,這是一個無效的本地時區縮寫。 – johnnieb