1
我用以下格式將laptimes存儲在數據庫中:103.900。十分之一秒的日期輸出?
我用以下日期格式輸出從數據庫中時間:
date('i:s.U', $video->best_lap)
我能得到什麼回覆是:01:43.103。實際輸出時間應該顯示01:43.900。有沒有辦法讓PHP可以很好地播放?
我用以下格式將laptimes存儲在數據庫中:103.900。十分之一秒的日期輸出?
我用以下日期格式輸出從數據庫中時間:
date('i:s.U', $video->best_lap)
我能得到什麼回覆是:01:43.103。實際輸出時間應該顯示01:43.900。有沒有辦法讓PHP可以很好地播放?
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');
從[PHP文檔](http://php.net/manual/en/function.date.php):'注意: 由於此函數只接受整數時間戳,所以u格式字符僅在使用用date_create()創建的基於用戶的時間戳的date_format()函數。'考慮使用DateTime和它的'format()'方法代替 –
感謝馬克,但我不知道如何幫助? @Mark – Transition
對於這樣的事情,我建議將時間存儲在十分之一秒內,然後在將數據從數據庫中拉出時進行轉換。 –