1

日付を表すテキストから文字列を抽出しています。それらは次のようになります。

Monday August 16, 2010 05:28 AM EST

NSDateFormatter でそれらを解析しようとしています。その形式を次のように設定しました。

[dateFormatter setDateFormat:@"EEEE MMMM d, YYYY h:mm a z"];

ただし、これは機能しません。上記の例で、文字列を日付に変換してからその日付を文字列に変換すると、日付フォーマッタは次のように返します。

Monday December 28, 2009 5:28 AM EST

私は何を間違っていますか?

編集: format を使用すると機能するようです[dateFormatter setDateFormat:@"EEEE MMMM d, y h:mm a z"];。変...

4

2 に答える 2

2

意思、

NSDateFormatter は、日付のフォーマットに Unicode 標準を使用します。ご覧のとおり、「y」は機能しますが、「YYYY」は機能しません。仕様を見ると (Apple ドキュメントの奥深くに参照されているため、見つけるのは簡単ではありません)、「Y」に次の注記があることがわかります。カレンダー。暦年と異なる場合があります。」

ここに仕様へのリンクがあります。

あなたが自分で修正したことは知っていますが、これは「Y」がうまくいかなかった理由を説明するのに役立つかもしれません.

于 2010-08-18T11:41:00.733 に答える
0

「y」または「yyyy」は問題ありません。「YYYY」は動作しません。詳細については、次のリンクを確認してください。

situee.blogspot.com:NSDateFormattersetDateFormatYYYYが間違った年を返す

于 2011-02-21T03:55:32.097 に答える