Also lassen Sie mich erklären. Ich arbeite an einer Seite, wo Leute sich einloggen, wie lange sie etwas machen. Das Problem ist, wenn jemand etwas von 23:00 bis 2:00 macht. Das Skript, das ich jetzt habe, sagt, es ist -21 Stunden.Javascript Zeit Berechnung von gestern bis morgen
Das zweite Problem ist es berechnet Minuten in Dezimalzahlen. Zum Beispiel 1:15 ist 1,25. Das ist nicht wirklich ein großes Problem, aber meine zweite Frage ist, kann ich Ergebnisse in Minuten bekommen?
Für meine primäre Frage, wie kann ich eine Bedingung setzen, wenn von einem Tag zum anderen 24- $ berechnen Ergebnis andernfalls normal berechnen?
Das ist, was ich habe jetzt:
$(function() {
$("#check").click(function() {
var start = $(".preveri_ure").val();
var end = $(".preveri_ure_2").val();
s = start.split(':');
e = end.split(':');
min = e[1]-s[1];
hour_carry = 0;
if(min < 0){
min += 60;
hour_carry += 1;
}
hour = e[0]-s[0]-hour_carry;
min = ((min/60)*100).toString()
diff = hour + "," + min.substring(0,2);
$("#show").text("Task lasted for : " + diff + "hours");
});
EDIT:
Start- und End-Stunden werden von den Benutzern in einem Eingabefeld mit diesem Format eingegeben werden: Start: 07.00 Ende 20: 15
Auch Zeitdifferenz ist immer weniger als 24 Stunden. Also Datum ist nicht erforderlich.
Es sieht aus wie die 'Starten' und' end' Werte durch den Benutzer eingegeben werden. Welche Art von Eingabeelementen verwenden Sie? Wenn Sie nur die Zeit sammeln, ist das Ihr Problem. Sie müssen ein vollständiges Datum erfassen. –
Entschuldigung vergessen zu erwähnen Start und Ende Stunden werden von Benutzern in einem Eingabefeld mit diesem Format eingegeben: Start: 7:00 Ende 20:15 Ich habe meine Frage bearbeitet. Vielen Dank! –
Nun, Sie müssen das ändern, damit ein vollständiges Datum eingegeben wird. Sie können 'input type = date' dafür verwenden. –