J'ai créé une catégorie pour cela:
NSString + DateParse.h
@interface NSString (DateParse)
-(NSDate *) dateFromISO8601;
@end
NSString + D ateParse.m
@implementation NSString (DateParse)
-(NSDate *) dateFromISO8601 {
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
NSString *format = ([self hasSuffix:@"Z"]) ? @"yyyy-MM-dd'T'HH:mm:ss'Z'" : @"yyyy-MM-dd'T'HH:mm:ssz";
[formatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[formatter setDateFormat:format];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
return [formatter dateFromString:self];
}
@end
Donc, supposons que si vous avez une chaîne appelée strDate
:
NSDate * dtParsed = [strDate dateFromISO8601];
Vous devriez voir [ 'this'] (http://stackoverflow.com/questions/6502284/how- to-convert-a-date-string-like-2011-06-25t1100260100-to-a-long-ipho/6502301 # 6502301) –
Assurez-vous que le téléphone ne se trouve pas dans un environnement local de 24 heures mais réglé sur 12 heures. –