2011-11-09 5 views
2

私はNSDateにロードしたいNSStringを持っています。文字列は次のようになります。21/10/2011 5時42分02秒PMNSDateFormatterと//

私は何を書かれていることである。

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"d/M/yyyy h:mm:ss a"]; 
NSDate *date = [dateFormat dateFromString:dateString]; 

日付がNULL値で終了します。

明らかに日付フォーマッタに問題がありますが、わかりません。

ご協力いただければ幸いです。

+1

それは私のために正常に動作します。 dateStringがnilでないことを確認しましたか?また、dateFormatも漏れています。 – Jef

+0

チェックしていただきありがとうございます...日付文字列はゼロではありません。私が紛失している文字列には別のものがなければなりません。 –

+0

私は文字列の値を手動で設定するだけで、フォーマットは私にとっても有効です。私がファイルから読み込んでいる日付には、私が見ることができないものがあることは明らかです。返信いただきありがとうございます。 –

答えて

2

文字列がフォーマットと一致しない場合、nullを返します。

例えば、ここではないフォーマットや1に一致する例を示します

NSString *dateString = @"11/09/2011 12:22:02"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"d/M/yyyy h:mm:ss"]; 
NSDate *date = [dateFormat dateFromString:dateString]; 
NSLog(@"dateString; %@", date); 

NSString *dateString2 = @"2011-11-09 12:22:02 +0000"; 
NSDate *date2 = [dateFormat2 dateFromString:dateString2]; 
NSLog(@"dateString; %@", date2); 

この出力は:

2011-11-09 07:27:54.342 Craplet[45608:707] dateString; 2011-09-11 05:22:02 +0000 
2011-11-09 07:27:54.343 Craplet[45608:707] dateString; (null) 
+0

返信いただきありがとうございます。私は、フォーマットが一致しない場合、返されるnullを取得することを理解します。私が設定したフォーマットがどうなっているのか分かりません。 –