2012-09-08 29 views

回答

6

其原因是,有嵌入該時間戳,這會導致它越過整數溢出極限毫秒。

砍最後3個字符,你是好去:

$original_timestamp = "1349042399999"; 
$timestamp = (int) substr($original_timestamp,0,-3); 

echo date('d-m-Y',$timestamp); 
+0

非常感謝您的幫助! –

+0

@KakukiPeter:如果此答案解決了您的問題,請考慮加註並接受它,方法是單擊答案分數下方的綠色大記號標記。 –

+0

正在爲此工作數小時,直到我遇到了切斷最後3個字符的建議。工作很棒! – blakeage

0

通過使用strtotime,您試圖將時間戳轉換爲另一個時間戳。你的時間戳也是微秒。該date功能只需要時間戳沒有像這樣的微秒:

date('d-m-Y',substr('1349042399999', 0, -3)); 
0

我認爲,二Rikudo解決方案工作,因爲強制轉換爲int修剪毫秒,不是因爲的。

在我看來,這應該爲你工作(它確實對我來說)

$ original_timestamp = 「1349042399999」; date('d-m-Y',(int)$ original_timestamp);