2017-08-09 26 views
0

我試圖改變時間戳日期的具體時間戳記:如何變換

例子:

這是確定

$ts = 1456172110000/1000; 
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:ss"); 
echo $date; 
Result: 2016-02-22 20:15:1010 

但這沒有

$ts = 1495730996979/1000; 
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:ss"); 
echo $date; 

結果:致命的錯誤r:調用布爾型的成員函數格式()

我該如何解決這個問題?

我要救這個時間戳在MySQL和檢索的格式的日期

謝謝

+1

但是爲什麼'ss'在您的輸出格式? –

+1

回答@MarkBaker – AbraCadaver

回答

1

U面具createFromFormat()需要一個整數值,或者一個不包含除零以外的數字之後小數

要麼強制轉換爲整數:

$ts = (int) (1495730996979/1000); 
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:s"); 
echo $date; 

或修改與你的面具爲小數秒

$ts = 1495730996979/1000; 
$date = DateTime::createFromFormat("U.u", $ts)->format("Y-m-d H:i:s"); 
echo $date;