簡體   English   中英

從NSDate獲取時區名稱

[英]Get timezone name from NSDate

有什么辦法從NSDate獲得時區縮寫(例如UTC,EET)? 我從字符串中獲取NSDate,例如2012-08-26 02:54:50 +0200並且需要顯示此日期的時區。

目前這樣做:

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat: @"yyyy-MM-dd HH:mm:ssZZZ"];
NSDate *isoDate = [formatter dateFromString: isoTime.value];
NSInteger offset = [[NSTimeZone defaultTimeZone] secondsFromGMTForDate: isoDate];
NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT: offset];

但我得到GMT + 03:00的timeZone縮寫,但它應該是EET。 任何方式得到它?

NSDate與時區無關; 它本身並沒有時區。 因此,您無法從中獲取時區。

secondsFromGMTForDate:在指定日期從GMT返回該時區(在您的情況下是默認值)的偏移量。 它返回的有關NSTimeZone的信息可能取決於日期(例如,如果您的時區是為了紀念夏令時),而不是日期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM