5

RSSを取得していますが、次の日付スタンプを受け取ります。

2010-05-10T06:11:14.000Z

現在、NSDateFormatterを使用してこの日時スタンプを解析しています。

[parseFormatter setDateFormat:@"yyyy-MM-dTH:m:s.z"];

しかし、タイムスタンプ部分を削除するだけではうまく機能しませんが[parseFormatter setDateFormat:@"yyyy-MM-d"];、残りのものを追加すると、nilが返されます。

何か案が ?

前もって感謝します....

4

2 に答える 2

27

d、H、m、s のゼロが埋め込まれた値を解析する必要があります

Tリテラルを次のようにエスケープする必要があります'T'

秒の小数部分を解析する必要がありますSSS

Zリテラルを受け入れる'Z'か、大文字の Z を使用してタイムゾーンを解析することができますが、RSS は別の標準を使用します。

@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

日付形式のパターン

于 2010-05-10T07:01:27.793 に答える
0

記憶から、私は過去にもこの問題を抱えていました。試すべきことがいくつかあります:

  1. RSSフィードの「T」をスペースに置き換えます(もちろん、日付形式の文字列も変更します)。

  2. RSSフィードには数字が埋め込まれていますが、フォーマット文字列には埋め込まれていません。これを試してみてください"yyyy-MM-ddTHH:mm:ss.Z"。このリンクによると、その「z」は大文字にする必要があります。http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/

  3. RSSフィードからタイムゾーン情報を取り除き、これを手動で解析します。これが私にとって問題を引き起こしたことを覚えているようです。

于 2010-05-10T06:44:45.107 に答える