Iphone NSString到NSDate转换

Iphone NSString到NSDate转换,iphone,objective-c,nsdate,nsdateformatter,Iphone,Objective C,Nsdate,Nsdateformatter,我有一个包含日期的字符串: 2012-05-25 我希望将此字符串转换为NSDate: NSString *birthday = /*2012-05-25*/; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"YYYY-MM-DD"]; NSDate *dateFromString = [dateFormatter dateFromString:

我有一个包含日期的字符串:

2012-05-25
我希望将此字符串转换为NSDate:

NSString *birthday = /*2012-05-25*/;

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-DD"];


NSDate *dateFromString = [dateFormatter dateFromString:birthday];
在dateFromString中,我得到了今天的日期。

这样做:

NSString *birthday = @"2012-05-25";     
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];        
NSDate *dateFromString = [dateFormatter dateFromString:birthday];
NSLog(@"%@", dateFromString);
产出:

2012-01-25 11:36:38.157 dsv[2679:903]2012-05-25 00:00:00+0200


有关详细信息,请参阅。

我希望这对您有所帮助。试试这个

 - (NSDate*) dateFromString:(NSString*)aStr
    {

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];

        [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
        [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

        NSLog(@"%@", aStr);
        NSDate   *aDate = [dateFormatter dateFromString:aStr];
        [dateFormatter release];
        return aDate;
    }

尝试使用
yyyy-MM-dd
作为格式字符串。我尝试过,但在输入日期前一天输入:“2012-05-24 21:00:00+0000”请阅读我提供的链接中的完整文档。我不知道细节,但可能与地点有关。关于这一点,这里也有很多问题。