1

私はRSSを持っています:

<pubDate>Fri, 20 Apr 2012 08:00:00 GMT</pubDate>

そしてバリデーターは、次の理由で適切ではないと述べました。

http://validator.w3.org/feed/docs/warning/ImplausibleDate.html

「この日付と時刻の値は正しくフォーマットされていますが、ソフトウェア エラーまたは誤って設定されたクロックが関係している可能性があることを示すには、それは未来であるか、またはかなり過去にあるように見えます。

RSS 2.0 仕様では、一部のアグリゲータが将来 pubDates を含むアイテムを無視することを選択する可能性があると予想されていましたが、この慣行は普及していないようです。

代わりに、多くのクライアントは、デフォルトまたはオプションとして、日付で並べ替えます。このため、日付値ができるだけ正確であることが重要です。

特に夏季 (つまり、BST と WEST の期間中) のイギリスと西ヨーロッパでよくある間違いの 1 つは、時間の数値部分が現地時間を反映し、時間のゾーン部分がハードコードされることです。 GMT。"

私は日付を生成します:

<pubDate>$data2 GMT</pubDate>

ここで、$data2 は次のようにデータベースから取得されます。

DATE_FORMAT(DATE,'%a, %d %b %Y %T')

そして、DATE は mysql 関数 NOW() によって受信されました。

ここでは 9 時 24 分ですが、最近ポーランドで時間の変更がありました。どうすれば修正できますか?

4

3 に答える 3

1

フォーマットは大丈夫です。RSS 2.0 の標準時間形式は GMT でなければなりません。時間の形式を GMT にしてください。現在の時間より速くならないことに注意してください。

$data2 = gmdate(DATE_RSS, time());
于 2012-04-27T08:35:26.097 に答える
0

これを試して:

<pubDate><?php echo date(DATE_RFC822); ?></pubDate>

http://feed2.w3.org/docs/error/InvalidRFC2822Date.html

編集: db から UNIX タイムスタンプとして日付を取得し、それを 2 番目のパラメーターとして date() 関数に渡します。

于 2012-04-20T07:40:21.977 に答える