2009-05-04 13 views
2

同じフォーマットの別のNSDateFormatterを使用してNSDateFormatterによって生成された文字列を解析しようとしています。NSDateFormatterでこの日付文字列を正しく解析できないのはなぜですか?

のではなく、その前の文をしようとして意味をなす、ここでいくつかのコードがあります:

NSDateFormatter *format = [[NSDateFormatter alloc] init]; 
[format setDateFormat:@"MMM dd, YYYY HH:mm"]; 

NSDate *now = [[NSDate alloc] init]; 

NSString *dateString = [format stringFromDate:now]; 

NSDateFormatter *inFormat = [[NSDateFormatter alloc] init]; 
[inFormat setDateFormat:@"MMM dd, YYYY HH:mm"]; 

NSDate *parsed = [inFormat dateFromString:dateString]; 

NSLog(@"\n" 
     "now:  |%@| \n" 
     "dateString: |%@| \n" 
     "parsed:  |%@|", now, dateString, parsed); 

私はこのコードを実行すると、私はが今と同じ日付が含まれているが、代わりに、私なりに解析することを期待します次の出力を取得してください:

 
now:  |2009-05-04 18:23:35 -0400| 
dateString: |May 04, 2009 18:23| 
parsed:  |2008-12-21 18:23:00 -0500| 

これはなぜ起こっているのですか?

答えて

9

"YYYY"は有効なICU日付書式設定オプションではありません。あなたは "yyyy"が欲しい。

資本 'Y'は、「週の週」オプション(「Y」の「週」w ')で使用する場合にのみ有効です。

+0

ビンゴ!それはそれを修正した。 –

関連する問題