回答
如果時間戳是一個Unix風格的時間戳,只需
$rounded = round($time/60)*60;
如果您指定的樣式,你可以簡單地將其轉換爲Unix類型時間戳和背部
$rounded = date('H:i:s', round(strtotime('16:45:34')/60)*60);
使用round()
作爲確保其值爲x
的簡單方法,其值在x - 0.5 <= x < x + 0.5
之間。如果你一直想永遠本輪下跌(如所示),你可以使用floor()
或模函數
$rounded = floor($time/60)*60;
//or
$rounded = time() - time() % 60;
Yacoby,謝謝你的全面解釋!現在你已經提到過了,round()是我喜歡的函數。在我的應用程序中更有意義。 :) – Lyon 2010-03-02 16:28:33
阿壩。打我吧:)
這也是我的解決方案。
<?php
$round = (round (time()/60) * 60);
echo date('h:i:s A', $round);
?>
呵呵,我真的很感謝你的幫助!謝謝 :) – Lyon 2010-03-02 16:26:31
另一種方法是這樣的:
$t = time();
$t -= $t % 60;
echo $t;
我讀過,在PHP每次調用time()
只好一路通過堆棧回OS。我不知道5.3以上版本是否已經改變了?上面的代碼減少了時間()的調用...
基準代碼:
$ php -r '$s = microtime(TRUE); for ($i = 0; $i < 10000000; $i++); $t = time(); $t -= $t %60; $e = microtime(TRUE); echo $e - $s . "\n\n";'
$ php -r '$s = microtime(TRUE); for ($i = 0; $i < 10000000; $i++); $t = time() - time() % 60; $e = microtime(TRUE); echo $e - $s . "\n\n";'
$ php -r '$s = microtime(TRUE); for ($i = 0; $i < 10000000; $i++); $t = floor(time()/60) * 60; $e = microtime(TRUE); echo $e - $s . "\n\n";'
有趣的是,超過10,000,000 itterations所有三個實際做的同時;)
- 1. 回合時間戳下降到最近的分鐘
- 2. MySQL - 圓秒到最近的一分鐘
- 3. MySQL的:選擇時間戳列,更改秒00和圓形分鐘到最近的10
- 4. PySpark 1.5如何將時間戳從幾秒鐘截斷到最近的分鐘
- 5. 選擇最接近的時間戳,每30分鐘
- 6. 使用unix時間戳在最近5分鐘內選擇行
- 7. SQL SELECT Only最接近15分鐘時間戳
- 8. 與最近的時間戳
- 9. 如何在Python中將時間戳記舍入到最接近的分鐘?
- 10. PHP得到最接近時間戳,但低於當前的時間戳
- 11. Unix時間戳到秒,分鐘,小時
- 12. MYSQL查詢:最近30分鐘的最新時間戳+唯一值
- 13. 在Excel中舍入到最近的15分鐘間隔時間
- 14. PHP:圓分鐘至最接近的四分之一小時,然後做更多
- 15. 最近7天的最後時間戳
- 16. 添加分鐘到時間戳 - 最有效的方式
- 17. 時間四捨五入到最接近的第10分鐘
- 18. pandas.merge:匹配最近的時間戳> =一系列時間戳
- 19. PHP - 時間減去時間到分鐘
- 20. 舍入時間到最近的季度,至少30分鐘的時間
- 21. Python的 - 定位最近的時間戳
- 22. 每個人的最近時間戳
- 23. Datetimepicker(EONASDAN)發送選擇作爲最近分鐘舍入的時代戳時間戳
- 24. 代碼找到當前時間之後60分鐘的unix時間戳php
- 25. 圓形浮動到最接近的四分之一的Ruby
- 26. 時間戳爲天,小時,分鐘,秒
- 27. 圓整數到最接近0.2的PHP
- 28. 回合的NSDate到最近5分鐘
- 29. 時間戳比較刪除當MySQL時間戳>20分鐘
- 30. 圓形浮動小數點到PHP中的最接近的十分位數
16:45:00仍有幾秒鐘...我想你的意思是你想輪到下一個最接近的分鐘,而不是刪除秒。 – Layke 2010-03-02 16:12:47
我剛剛安裝了PHP,因此我可以爲您提供執行此操作的代碼。我不想猜測因爲我討厭時間()。如果沒有其他人,我會在10分鐘內回答。 – Layke 2010-03-02 16:16:46
@Laykes http://codepad.org/適合做快速代碼檢查 – Yacoby 2010-03-02 16:23:24