2011-10-24 77 views

回答

1

你需要消除最後一個冒號(時區解析它,「-04 :00" - >‘-0400’),作爲Z將採取類似‘-0800’,那麼你可以試試這個:

NSString *dateString = @"2011-08-30T11:44:54.345-04:00"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"]; 
NSDate *date = [dateFormat dateFromString:dateString]; 
[dateFormat release]; 

有關日期格式的詳細信息,請參閱this page

0

這是按照tilo的答案,但添加了幾件事情。

NSString *dateString = @"2011-08-30T11:44:54.345-04:00"; 
NSRange range = [dateString rangeOfString:@":" options:NSBackwardsSearch]; 
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:range]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"]; 
NSDate *date = [dateFormat dateFromString:dateString]; 
[dateFormat release]; 

您將獲得所需的格式。