2011-01-10 17 views
1

Hy Jungs.Vergleichen Strings mit der Stunde

Wie kann ich diese Daten vergleichen ...

var str = '09:29'; 
var parts = str.split(':'); 
minutes = parts[1]; 
hour = parts[2]; 

mit aktueller Stunde?

Ich habe eine Tabelle mit diesem Wert und möchte vergleichen, ob es 5 Minuten älter als die tatsächliche Zeit ist.

Tks Leute.

+0

Gehen Sie davon aus, dass die Zeit in 'str' eine Zeit heute darstellt? Was ist mit der Zeitzone? Ist es im 24-Stunden-Format? –

Antwort

1

Dieser Code wird nützlich sein, um die aktuelle Zeit zu bekommen:

var d = new Date(); 
var curr_hour = d.getHours(); 
var curr_min = d.getMinutes(); 

Jetzt können Sie entweder die Stunden vergleichen und sehen, ob sie gleich (oder innerhalb von 1 voneinander machen einen Unterschied in Minuten sind), oder Sie können es mathematisch tun, so würde ich es tun.

if((((curr_hour * 60) + curr_min) == ((hour * 60) + minutes) + 5)){ 
    //Do something 
} 

So würde ich das machen. Ich würde jedoch die arithmetische Logik von der if-Anweisung trennen.

Edit: Hier ist der Code, den ich wahrscheinlich verwenden würde.

var givenTime = (hour * 60) + minutes; 
var systemTime = (curr_hour * 60) + curr_min; 
var difference = Math.abs((givenTime + 5) - systemTime); 

if(difference == 0){ 
    //do something 
}