需要特定date格式的帮助

我有下一个datestring,

2011-08-30T11:44:54.345-04:00 

帮我dateFromString:正确的格式来parsing它与dateFromString:

你需要消除最后的冒号(时区,“-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]; 

有关date格式的更多信息,请参阅此页面 。

这是继续的答案,但增加了一些东西。

 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]; 

你会得到所需的格式。