Iphone 使用NSDateFormatter格式化日期时出现问题

Iphone 使用NSDateFormatter格式化日期时出现问题,iphone,objective-c,cocoa-touch,nsdate,nsdateformatter,Iphone,Objective C,Cocoa Touch,Nsdate,Nsdateformatter,我有以下日期: 2011-09-09T18:01:47Z 我希望它看起来像 “9/9/11下午1:47”无论正确的时间是什么 此代码返回空字符串: NSLog(@"TIME: %@",[message valueForKey:@"created_at"]); NSString* time = [message valueForKey:@"created_at"]; NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]

我有以下日期:

2011-09-09T18:01:47Z
我希望它看起来像

“9/9/11下午1:47”
无论正确的时间是什么

此代码返回空字符串:

NSLog(@"TIME: %@",[message valueForKey:@"created_at"]);
    NSString* time = [message valueForKey:@"created_at"];
    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MM-dd-yy at HH:mm:ss"];
    NSDate* newTime = [dateFormatter dateFromString:time];
    [dateFormatter setDateFormat:@"MM-dd-yy at HH:mm:ss"];
    NSString* finalTime = [dateFormatter stringFromDate:newTime];

两者的格式相同,它们与输入和输出几乎没有关系。如果有问题,请参阅

NSString *datein = @"2011-09-09T18:01:47Z";

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
//The Z at the end of your string represents Zulu which is UTC
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
NSDate* newTime = [dateFormatter dateFromString:datein];

//Add the following line to display the time in the local time zone
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormatter setDateFormat:@"M/d/yy 'at' h:mma"];
NSString* finalTime = [dateFormatter stringFromDate:newTime];
NSLog(@"%@", finalTime);

我不知道你是什么意思?我公布了最初的输入时间,以及我在问题中对输出的期望。让我知道,我可以更新更多的问题。我认为你的第一次约会没有合适的格式,我指的是“2011-09-09T18:01:47Z”日期