2011-01-03 14 views
1

"Jan 2nd、2011 11:38 am"という形式の文字列を対応するNSDateに変換する必要があります。 次のコードを使用して、文字列を日付に変換します。NSStringからNSString

+ (NSDate *) dateFromString: (NSString *) dateString {  

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 
    NSDate *dateFromString = [dateFormatter dateFromString:dateString]; 
    [dateFormatter release]; 
    return dateFromString; 
} 

ただし、nilを返します。 誰でも私にこれを手伝ってもらえますか?

答えて

0
+ (NSDate *) dateFromString: (NSString *) dateString 
{  
    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 
    NSDate *dateFromString = [dateFormatter dateFromString:dateString]; 
    return dateFromString; 
} 
0

このようにする必要があります。 NSDate * dateFromString = [[dateFormatter dateFromString:dateString] retain]; およびreturn文 return [dateFromString autorelease];

または [dateFormatter release]の代わりに使用します。 あなたは [dateFormatter autorelease]を使用する必要があります。

0
+(NSDate *)dateFromString:(NSString *)dateString 
{ 
    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
    [dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]]; 
    [dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss zzzz"]; 
    NSDate *date = [dateFormatter dateFromString:dateString]; 

    return date; 
}