2011-08-05 48 views
3

私の取得した日付の文字列は、この形式の8/5/2011 1:38:13 PMです。どうすればNSDateに変換できますか?mm/dd/yyyyのNSString to NSDate hh:mm:ss形式

私が試した:

[dateFormatter setDateFormat:@"mm/dd/yyyy 'T' hh:mm:ss a"]; 
NSString *currentDate = [dateFormatter stringFromDate:currentDateString]; 

それはnilを返します。何かご意見は?

答えて

9

間違ったメソッドを呼び出しているため、日付文字列内にTがありません(リテラルの中の一重引用符'内の文字)、PMは "P.M"ではありません。それを壊していないが完全に正しいとはいえないことは、月を1分として解析しようとしていることと、日付文字列が月、日、時に1桁以上あることができるため、あなたが日付から文字列を作成する場合。これを試してみてください:

NSString *currentDateString = @"8/5/2011 1:38:13 PM"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
//Set the AM and PM symbols 
[dateFormatter setAMSymbol:@"AM"]; 
[dateFormatter setPMSymbol:@"PM"]; 
//Specify only 1 M for month, 1 d for day and 1 h for hour 
[dateFormatter setDateFormat:@"M/d/yyyy h:mm:ss a"]; 
NSDate *currentDate = [dateFormatter dateFromString:currentDateString]; 

NSLog(@"current date: %@", currentDate); 
//Example of the format using the actual date 
NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]); 
[dateFormatter release]; 
+0

私はおそらくコードをコピー貼り付け:)である前に、OPは、私はそう疑問にcurrentDateString、たDateFormatterコードを入れていないことを追加する必要がありますたDateFormatter :-D – kviksilver

+0

を解放することを忘れないでください。 – Joe

+0

[self dateFromString:@ "MM/dd/yyyy hh:mm:ss" andDateString:@ "08/01/2013 12:14:14"]; hello joe ,, NSDateオブジェクトでこの形式の日付を取得していません – Apple