2012-04-20 20 views
0

我有一個RSS有:不合理的日期在RSS如何解決它在PHP中?

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

和確認說,這是不妥當的,因爲:

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

「雖然這個日期時間值的格式是否正確,它要麼似乎是在未來或者過去足夠遠以表明可能存在軟件錯誤或涉及錯誤設置的時鐘

儘管RSS 2.0規範預計某些聚合器可能會如果將來會忽略發佈日期的項目,這種做法似乎從未出現過。

相反,許多客戶按日期排序,默認情況下,或作爲選項。出於這個原因,重要的是日期值儘可能精確。

一個常見的錯誤,特別是在夏季(即BST和WEST期間)英國和西歐之間,時間的數字部分反映了當地時間和區域部分時間來硬編碼GMT。 「

我生成日期:

<pubDate>$data2 GMT</pubDate> 

其中$數據2是從數據庫中取folows:

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

和日期是由MySQL的函數NOW()接收

這很奇怪,因爲這裏我們有9:24點,但最近我們在波蘭有時間改變了。所以我該如何修復它?

回答

0

添加您的時區,而不是格林威治時間:

<pubDate>$data2 +0200</pubDate> 

應該這樣做。請注意,您的時區可能會在這一年的變化,所以你可能要動態generate它:

$data2 .= date(' O'); 
1

格式是所有權利。 RSS 2.0的標準時間格式必須是格林威治標準時間,請格式化時間格林威治標準時間,注意它不會更快,然後當前時間

$data2 = gmdate(DATE_RSS, time());