如何用这种格式解析日期字符串(例如:2012-04-12T14:23:23)

时间:2012-04-12 14:09:15

标签: iphone objective-c cocoa-touch

如何使用此格式解析日期字符串(例如:2012-04-12T14:23:23) 我尝试使用这种格式字符串,但这是错误的:yyyy-MM-ddThh:mm:ss。
请帮忙!

3 个答案:

答案 0 :(得分:7)

你应该逃避T字母:

formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss";

答案 1 :(得分:1)

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];

NSDate *formattedDate = [dateFormatter dateFromString:@"2008-12-3T22:11:30"];

答案 2 :(得分:1)

这是ISO 8601日期格式。因此,最好的方法是使用特定的日期解析器,让您的生活变得轻松。

可在此处找到http://boredzo.org/iso8601parser/

此外,搜索“ISO 8601”。你会发现很多资源和例子,例如

What's the right way to parse an ISO8601 date in cocoa?

Is there a simple way of converting an ISO8601 timestamp to a formatted NSDate?