2010-09-21 81 views
0

我需要將以下字符串解析到NSDate中。如何解析包含時區的字符串中的日期

例子:2008-09-28T02:48:16+05:30

我嘗試以下,但它不工作

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSLog(@"Date=%@",[dateFormatter dateFromString:@"2008-09-28T02:48:16+05:30"]); 

,如果我保持@"2008-09-28T02:48:16+05:30"@"2008-09-28T02:48:16+0530"它才起作用。

回答

0

據我所知不能做到。例如,如果您將ZZZZ設爲「GMT + 09:00」。

最簡單的就是從輸入字符串中刪除冒號。

NSMutableString *input = [[NSMutableString alloc] initWithString:@"2008-09-28T02:48:16+05:30"]; 
[input replaceCharactersInRange:NSMakeRange(input.length-3, 1) withString:@""]; 
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSLog(@"Date=%@",[dateFormatter dateFromString:input]); 
[input release]; 
+0

感謝您的解決方案,但這正是我現在正在做的。我唯一擔心的是要知道是否可能或不從時區刪除冒號部分。它可能是一些日期格式,它能夠正確解析我給定的日期字符串.FYI,目前我使用10.5 SDK。在10.6 SDK或某些第三方日期解析代碼中可能有一些解決方案。 – AmitSri 2010-09-22 07:43:25