2010-09-21 82 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