2017-01-02 39 views
1

我用以下格式將laptimes存儲在數據庫中:103.900。十分之一秒的日期輸出?

我用以下日期格式輸出從數據庫中時間:

date('i:s.U', $video->best_lap) 

我能得到什麼回覆是:01:43.103。實際輸出時間應該顯示01:43.900。有沒有辦法讓PHP可以很好地播放?

+2

從[PHP文檔](http://php.net/manual/en/function.date.php):'注意: 由於此函數只接受整數時間戳,所以u格式字符僅在使用用date_create()創建的基於用戶的時間戳的date_format()函數。'考慮使用DateTime和它的'format()'方法代替 –

+0

感謝馬克,但我不知道如何幫助? @Mark – Transition

+1

對於這樣的事情,我建議將時間存儲在十分之一秒內,然後在將數據從數據庫中拉出時進行轉換。 –

回答

1

PHP的日期的函數(使用unix時間戳,這是整數值)不支持分數秒(如在PHP Docs描述)

注: 由於此函數只接受整數時間戳的U格式字符僅在使用date_format()函數和使用date_create()創建的基於用戶的時間戳時纔有用。

而且還要注意小數部分格式掩碼是u,不U(小寫,沒有大寫)

然而,datetime對象都支持小數秒,所以你可以使用:

$dto = DateTime::createFromFormat('U.u', '103.900'); 
echo $dto->format('i:s.u');