2013-03-06 8 views
9

私がRSSクライアントで正しく表示されますRSSフィードを持っていますが、http://feedvalidator.orgによって検証されたとき、私はこのエラーを取得する [ワーキング溶液を用いて更新]:次のようにRFC-822 RSS 2.0フィードの日付/時刻形式:CETは受け入れられませんか?

pubDate must be an RFC-822 date-time 

私の日付がフォーマットされています

Wed, 27 Feb 2013 17:18:15 CET

何が間違っている可能性がありますか? タイムゾーンになりますか?カルムへ

SOLUTION

おかげで私は今、有効なRSSフィードを得ました。理由は、でサポートされていないCETでした。

次のJavaコードは、罰金、今取り組んでいる:

String pubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").format(new Date()); 

答えて

8

The RFCは、それが唯一のシンボリックタイムゾーン名の非常に限られたセットをサポートして示します。ちょうどUTCと米国のもの:

zone  = "UT"/"GMT"    ; Universal Time 
              ; North American : UT 
      /"EST"/"EDT"    ; Eastern: - 5/ - 4 
      /"CST"/"CDT"    ; Central: - 6/ - 5 
      /"MST"/"MDT"    ; Mountain: - 7/ - 6 
      /"PST"/"PDT"    ; Pacific: - 8/ - 7 
      /1ALPHA      ; Military: Z = UT; 
              ; A:-1; (J not used) 
              ; M:-12; N:+1; Y:+12 
      /(("+"/"-") 4DIGIT)  ; Local differential 
              ; hours+min. (HHMM) 

おそらく、UTCとのオフセットとして指定する必要があります。あなたは、Javaを使用していると言うので、あなたの時間形式(というよりもz)ゾーンをフォーマットするZを使用する場合SimpleDateFormatはあなたにRFC-822準拠の日付を与えるよう

は、それが見えます。

+0

私はこれを修正したいと思います。今すぐテストに行く。 – basZero

+0

ありがとう@カルマは、それを修正! – basZero

+0

うれしかった! – Calum

6

あなたはCalumが言ったように、タイムゾーンをフォーマットするZを使用する必要がありますが、あまりにもLocaleを指定することを忘れていないか、または他のコンピュータが英語でない場合、それは動作しません...

ここに私の作業コードがあります:

new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.US).format(new Date()); 
関連する問題