NSDateFormatterでこの日付文字列を正しく解析できないのはなぜですか?
-
03-07-2019 - |
質問
同じ形式の別の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);
このコードを実行すると、 parsed には now と同じ日付が含まれると予想されますが、代わりに次の出力が表示されます。
now: |2009-05-04 18:23:35 -0400| dateString: |May 04, 2009 18:23| parsed: |2008-12-21 18:23:00 -0500|
これが起こっている理由は誰にもありますか?
解決
あなたの問題は" YYYY"有効なICU日付フォーマットオプションではありません。希望する" yyyy"。
大文字の「Y」は、「年間の週」とともに使用する場合にのみ有効です。オプション(つまり、「Y」の「週」「w」)」
所属していません StackOverflow