2014-03-27 109 views
0

我需要能夠將時間舍入到最近的5分鐘。Javascript:Round Time UP最近5分鐘

現在時間11:54 - 時鐘11:55

現在時間11:56 - 時鐘12:00

它不可能本輪下跌只是一直到下一次。

我使用目前這個代碼,但是這將本輪下跌以及

var time = 1000 * 60 * 5; 
var date = new Date(); 
var rounded = new Date(Math.round(date.getTime()/time) * time); 

回答

7

加入2.5倍分鐘的時間,然後輪。

11:54 + 2.5 = 11:56:30 -> 11:55 
11:56 + 2.5 = 11:58:30 -> 12:00 
+0

+1,另外勝過師 –

5

你可以劃分出5,做一個Math.ceil然後通過5

minutes = (5 * Math.ceil(minutes/5)); 
1
var b = Date.now() + 15E4, 
    c = b % 3E5; 
    rounded = new Date(15E4>=c?b-c:b+3E5-c); 
1

我有同樣的問題乘以回來了,但我需要圓了,我改變了你的代碼對此:

var time = 1000 * 60 * 5; 
var date = new Date(); 
var rounded = new Date(date.getTime() - (date.getTime() % time)); 

我認爲收集它將會是一些事情ng像這樣:

var time = 1000 * 60 * 5; 
var date = new Date(); 
var rounded = new Date(date.getTime() + time - (date.getTime() % time));