回答
如果時間戳是一個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. MySQL - 圓秒到最近的一分鐘
- 2. 與最近的時間戳
- 3. 如何在Python中將時間戳記舍入到最接近的分鐘?
- 4. Unix時間戳到秒,分鐘,小時
- 5. MYSQL查詢:最近30分鐘的最新時間戳+唯一值
- 6. 在Excel中舍入到最近的15分鐘間隔時間
- 7. 最近7天的最後時間戳
- 8. PHP - 時間減去時間到分鐘
- 9. Python的 - 定位最近的時間戳
- 10. Datetimepicker(EONASDAN)發送選擇作爲最近分鐘舍入的時代戳時間戳
- 11. 代碼找到當前時間之後60分鐘的unix時間戳php
- 12. 圓整數到最接近0.2的PHP
- 13. 回合的NSDate到最近5分鐘
- 14. 時間戳比較刪除當MySQL時間戳>20分鐘
- 15. 最接近時間戳選擇行
- 16. 獲取時間四捨五入到最近的5分鐘間隔只有幾分鐘轉換爲字符串
- 17. 從MySQL時間戳獲取時間並以小時,分鐘等形式顯示?
- 18. javascript:得到月/年/日/小時/分鐘的時間戳
- 19. 圓整日期到10分鐘間隔
- 20. Python:每分鐘查找最小時間戳數據幀
- 21. 截斷動物園時間序列最近10分鐘
- 22. PHP從unix時間戳中減去分鐘數
- 23. 如果時間戳超過20分鐘,則刪除文件php
- 24. PHP檢查時間戳是否少於30分鐘
- 25. 如何將時間戳列四捨五入到大熊貓的最高分鐘
- 26. 查找最近8點遇到的時間戳?
- 27. 如何找到哪兩行的時間戳彼此最接近?
- 28. 將時間戳倒到最近的日期
- 29. 如何在java中將時間縮短到最接近的15分鐘
- 30. 在數據表中找到最接近給定時間的時間戳的行
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