間違ったメソッドを呼び出しているため、日付文字列内に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];
出典
2011-08-05 18:00:38
Joe
私はおそらくコードをコピー貼り付け:)である前に、OPは、私はそう疑問にcurrentDateString、たDateFormatterコードを入れていないことを追加する必要がありますたDateFormatter :-D – kviksilver
を解放することを忘れないでください。 – Joe
[self dateFromString:@ "MM/dd/yyyy hh:mm:ss" andDateString:@ "08/01/2013 12:14:14"]; hello joe ,, NSDateオブジェクトでこの形式の日付を取得していません – Apple