1. 程式人生 > 其它 >PHPCMS呼叫文章釋出時間標籤顯示1970的解決方法

PHPCMS呼叫文章釋出時間標籤顯示1970的解決方法

在使用phpcms V9時,經常出現呼叫文章時間標籤會顯示1970年的問題,雖然不知道真正的原因,但我找到了解決方法。方法很簡單,使用php strtotime() 函式即可

strtotime() 函式將任何英文文字的日期時間描述解析為 Unix 時間戳。

{date('Y',strtotime($updatetime))} 大寫Y顯示 2013, 小寫 y 則顯示 13
{date('M-D',strtotime($updatetime))} 大寫為英文月日, 小寫為數字月日
{date('Y',time($updatetime))} 獲取當前時間戳

  另外解釋下phpcms標籤裡的updatetime和inputtime標籤:

①updatetime是更新時間(也叫修改時間,就是後臺的文章列表看到的時間);
②inputtime是第一次寫文章時的釋出時間(就是新增文章或者修改文章時縮圖下方的時間)。

   一般情況下,釋出時間不會自動變動,但更新時間則會隨著文章修改而變動。我們在前端頁面寫標籤的時候,一般也都寫釋出時間,這樣不會造成去年寫的文章,修改後變成今年的文章。當然,如果寫更新時間其實問題也不大。

如果還是不行可以參考下面的方法:

PHPCMS釋出時間1970年01月01日的解決方法

在新聞內容頁呼叫“{tag_內容頁相關資訊}”時在前臺顯示釋出時間都是1970年01月01日,經過對標籤模板的檢視,沒有發現問題,後再仔細檢視標籤設定,發現標籤是“ 通過自定義SQL呼叫”的,而原來自定義SQL的語句是:

 

SELECT DISTINCT c.contentid,c.title,c.style,c.url FROM `phpcmscom_content` c,`phpcmscom_content_tag` t WHERE c.contentid=t.contentid and c.`status`=99 AND t.`tag` IN(".get_sql_in($r[keywords]).") ORDER BY c.contentid DESC

並沒有釋出時間的執行函式,只需增加發布時間的函式即可顯示真實的釋出時間了,更改後的語句為:

SELECT DISTINCT c.contentid,c.title,c.inputtime,c.style,c.url FROM
`phpcmscom_content` c,`phpcmscom_content_tag` t WHERE c.contentid=t.contentid and c.`status`=99 AND t.`tag` IN(".get_sql_in($r[keywords]).") ORDER BY c.contentid DESC

注意新增下面的程式碼:

c.inputtime,