日付をある文字列形式から別の文字列形式に変換したいようです。これを行うには、2つのステップで行う必要があります。つまり、FROM文字列をNSSDateにフォーマットし、次にその日付からNSStringにフォーマットする必要があります。
NSDateFormatter *dateWriter = [[NSDateFormatter alloc] init];
NSDateFormatter *dateReader = [[NSDateFormatter alloc] init];
[dateWriter setDateFormat:@"yyyy-MM-dd"];
[dateReader setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *dateTmp = [dateReader dateFromString:@"2008-12-31T12:00:00"];
NSString *str = [dateWriter stringFromDate:dateTmp]
//str now contains "2008-12-31".
//and don't forget!!!
[dateReader release];
[dateWriter release];
したい場合は、読書DATEFORMATをリセットしてから書き込むことによって1つの日付フォーマッタと同じ結果を得ることができました。私はちょうどこれのようにそれを配置したので、プロセスを見て簡単です。
サイドノート - 私は常にNSDateFormattersをリリースすることを忘れています。 ClangとInstrumentsは常に私にそれらを漏らしているのを捉えています。私はそれらを使用すると思うし、彼らは完了したように感じる。彼らはそうではありません!だから私より賢くなり、あなたのメモリ管理のNARCを忘れないでください!
サイドノート2 - コンパイラの警告を無視しないでください。あなたのコンパイラはあなたが行っている無効な割り当てについて警告していますが、無視しています。
これはiOS 3で機能するというバグは、dateFromString:はNSStringを返さず、NSDateを返さないため、機能よりもバグです。あなたのコンパイラは警告を出して、あなたにも話しています。それらを読みます。 – fresskoma
http://stackoverflow.com/questions/3212214/for-iphone-os-4-0-datefromstring-method-of-nsdateformatter-returns-nilのコピー –