2012-07-24 45 views
8

在我的數據庫中,我已經設置行「貼」作爲一個時間戳,但是想轉換/格式化,當我得到這個通知:的MySQL時間戳轉換/格式化注意:非合式數值遇到

Notice: A non well formed numeric value encountered 

代碼:

$posted = date('d/m/Y H:i:s', $row['posted']); 
    echo $posted; 

我究竟做錯了什麼?

+0

是什麼'的var_dump($行[ '貼']);'說明了什麼?也許你需要首先在'$ row ['posted']'上調用'strtotime()'? – drew010 2012-07-24 01:09:50

+0

它只是調用時間戳記行,這是第一次玩時間戳選項通常我只是將其設置爲varchar並更新與日期,我猜我需要添加更多呢? – 2012-07-24 01:16:37

+0

'date()'的第二個參數需要是一個unix時間戳,所以如果'posted'列中的數據不是時間戳,那麼必須先將它轉換爲一個。我猜測它是'yyyy-mm-dd hh:mm:ss'格式,這意味着你必須首先使用'strtotime'。 – drew010 2012-07-24 01:18:01

回答

15

這意味着date()的第二個參數需要整數,因此首先將$row['posted']轉換爲時間戳。

嘗試

$posted = date('d/m/Y H:i:s', strtotime($row['posted'])); 
+0

謝謝,當我可以的時候會標記爲答案(5分鐘超時)。 – 2012-07-24 01:18:28