Jquery Zeitunterschied in Stunden aus zwei Feldern
Ich habe zwei Felder in meinem Formular, wo die Benutzer wählen Sie eine Eingabe von Uhrzeit (start_time, end_time) ich möchte auf die Veränderung dieser Felder, recalcuate der Wert für ein anderes Feld.
Was ich möchte zu tun ist, erhalten Sie die Anzahl der Stunden zwischen 2 Zeiten. So zum Beispiel, wenn ich eine Startzeit von 5:30 Uhr und einer Endzeit von 7:50, ich würde gerne das Ergebnis 2:33 in ein anderes Feld.
Meine eingegebenen Formular-Zeiten werden im format HH:MM:SS
Bisher habe ich versucht...
$('#start_time,#end_time').on('change',function()
{
var start_time = $('#start_time').val();
var end_time = $('#end_time').val();
var diff = new Date(end_time) - new Date( start_time);
$('#setup_hours').val(diff);
2:33
,2.33
oder2:20
statt ?- oder
new Date("1970-1-1 " + end_time)
. ist nur eine Zeit auf Ihrer eigenen ein date? dont think so... - 2.33 Der zweite Teil von der Dezimalstelle werden sollte der Anteil von insgesamt Stunden. So 2:20 in diesem Fall 20/60 ist .33
- es gibt kein Datum in der Eingabe ist es einfach nur "HH:MM:SS"
- so verwenden Sie eine Konstante Datum Stück
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen
haben ein Turnschuh
Es hängt davon ab, welches format Sie möchten, dass Ihre Ausgabe in. Wenn dabei die Mathematik mit Date-Objekten, konvertiert Sie in Millisekunden seit der Epoche Zeit (Januar 1, 1970, 00:00:00 UTC). Durch die Subtraktion der beiden (und unter absoluter Wert, wenn Sie nicht wissen, welches größer ist), bekommen Sie die raw-Anzahl der Millisekunden zwischen den beiden.
Von dort aus können Sie es konvertieren in welchem format auch immer Sie wollen. Um die Anzahl der Sekunden, nur teilen Sie die Zahl durch
1000
. Um Stunden, Minuten und Sekunden:Könnte man natürlich machen, diese schlauer, mit einigen Bedingungen, aber dies ist nur um Ihnen zu zeigen, dass mit math können Sie formatieren Sie es in welcher form auch immer Sie wollen. Gerecht halten Sie im Verstand, den ein Date-Objekt hat immer ein Datum, nicht nur ein mal, so können Sie speichern Sie diese in ein Date-Objekt, aber wenn es mehr als 24 Stunden werden Sie am Ende mit Informationen, die nicht wirklich repräsentieren einen "Abstand" zwischen den beiden.
versuchen Sie dies :