2011-06-30 28 views
0

我希望能夠在我的應用程序來顯示系統時區爲單獨的純文本時,它啓動:如何顯示時區爲文本?

- (void)viewDidLoad { 
    [super viewDidLoad]; 

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
    [dateFormatter setDateStyle:NSDateFormatterShortStyle]; 
    NSString* date = [dateFormatter stringFromDate:[NSDate date]]; 
    lblDate.text = date; 

NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
[dateFormatter setTimeZone:gmt]; 
NSString* zone = [gmt:[NSTimeZone defaultTimeZone]]; 
txtTZ.text = zone;` 

我的應用程序能夠正確顯示日期,但在時區崩潰。有什麼建議麼?

回答

1

嘗試更換此:

NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
[dateFormatter setTimeZone:gmt]; 
NSString* zone = [gmt:[NSTimeZone defaultTimeZone]]; 
txtTZ.text = zone; 

有了這個:

NSString *zone = [[NSTimeZone systemTimeZone] abbreviation]; 
txtTZ.text = zone; 
+0

作品好了。謝謝!我可以使用相同的字符串來顯示祖魯語時區嗎?例如:洛杉磯是格林威治標準時間-8格,而祖魯語時區是+8格。 – 12Gig

+0

它將顯示無論設備時區設置爲。從文檔:系統當前使用的時區。如果當前時區無法確定,則返回GMT時區。 – jaminguy

+0

這清理了很多。謝謝你的時間。 – 12Gig