Iphone 03AM的NSDATE格式

Iphone 03AM的NSDATE格式,iphone,objective-c,nsdate,nsdateformatter,Iphone,Objective C,Nsdate,Nsdateformatter,我知道这很简单,但我不能把它做好。一直盯着我看了这么久。 我有一个03AM的字符串,但当我试图从中获取日期时,我无法让它工作。它给了我1970-01-01 21:00:00+0000。不知道为什么。 这里有人能帮忙吗 NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease]; [dateFormat setDateFormat:@"ha"]; [dateFormat setLoca

我知道这很简单,但我不能把它做好。一直盯着我看了这么久。 我有一个03AM的字符串,但当我试图从中获取日期时,我无法让它工作。它给了我1970-01-01 21:00:00+0000。不知道为什么。 这里有人能帮忙吗

    NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormat setDateFormat:@"ha"];
    [dateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease] ];
    NSDate *date1 = [dateFormat dateFromString:display];
    NSLog(@"Display 2 : %@", date1);
应该是:

[dateFormat setDateFormat:@"hh a"];
看看这是否有效;)


ref:

要使AM/PM正确显示,您可能必须将区域设置设置为特殊值。请参阅线程。

如何填写显示:NSDate*date1=[dateFormat dateFromString:display];?我从数据库中获取它,并且NSString*display=[eachElement objectAtIndex:10];。我已经检查了这里的值,它是下午3点。但我不知道为什么它会成为完整的日期。@TotumusMaximus我的数据库中有下午3点的数据。我可以把它转换成NSDate吗?它是一个完整的日期,因为格式不正确。如果它没有格式化行为,它将使用默认行为。再次阅读如何使用dateformats:我相信你会明白的。但是有没有一种方法可以从字符串中获取部分日期呢?就像我有一个日期2011-10-01上午9:30。我只需要早上9:30从字符串作为我的日期。可能吗?像NSDateFormatter*dateFormat=[[NSDateFormatter alloc]init]autorelease];[日期格式setDateFormat:@“h:mm a”];
[dateFormat setDateFormat:@"hh a"];