2011-11-30 183 views
0

我有具有以下內容的密鑰時間戳PHP日期格式錯誤

「時間戳」=> 「2011-11-29 00:00:00」

當我的陣列嘗試使用此

date("F j, Y", $data['Visitor']['timestamp']); 

我得到以下錯誤更改格式

非合式數值遇到

回答

6

您應該使用的日期時間數據的strtotime首先將它轉換成Unix時間戳。

date("F j, Y", strtotime($data['Visitor']['timestamp'])); 

結帳date文檔它接受一個Unix時間戳作爲第二個參數,你傳遞一個日期時間值。

DEMO

1

功能要求Unix Time這是數字 - 而不是字符串格式化的日期。

正如@Shakti Singh提到你應該使用strtotime。

從上時間戳參數的PHP文檔:

可選的時間戳參數是一個整數Unix時間戳,如果時間戳沒有給出 默認爲當前本地時間。在 換句話說,它默認爲time()的值。

0

這樣做,因爲PHP 5.2的一個較新的方法是DateTime class

$datetime = new DateTime('2011-11-29 00:00:00'); 
echo $datetime->format('F j, Y'); 

See it in action