Also ich habe ein Formular wo per Java die Zeit in jeweils zwei Textfelder generiert werden kann mit Buttons. Sprich anfang und ende, dazu kommt ein Feld mit der Gesamtzeit, ist ja klar denke ich mal. Dieses Feld zeigt die Zeit jedoch in Zeit an und nicht in Dezimalzahl. Ichb rauche jedoch die Dezimalzahl und kriege das nicht so wirklich hin.
Wäre echt schön wenn mir jemand vielleicht einen Tipp geben kann wie ch das auf viertel Stunde aufrunden kann. Also wenn ich zum Beispiel 1:05 habe wären das dann in dezimal 1,08 Stunden. Das sollte dann aufgerundet werden auf 1,25.
Hier den Code den ich zur Berechnung benutze:
Code: Alles auswählen
// Startzeit aus Feld "UhrzeitA1" (Format "Zeit HH:MM"):
UhrzeitA1=this.getField("Einsatzzeit Begin").value;
// Endezeit aus Feld "UhrzeitE1" (Format "Zeit HH:MM"):
UhrzeitE1=this.getField("Einsatzzeit Ende").value;
// Startzeit in Minuten seit 00:00h umrechnen:
var StartZeit = UhrzeitA1.substr(0,2) * 60 + UhrzeitA1.substr(3,2) * 1;
// Endezeit in Minuten seit 00:00h umrechnen:
var EndeZeit = UhrzeitE1.substr(0,2) * 60 + UhrzeitE1.substr(3,2) * 1;
// Zeitdifferenz in Minuten (auch tagesübergreifend):
var DiffZeit = ((EndeZeit + 24*60) - StartZeit) % (24*60);
// ganze Stunden der Dauer:
var DauerH = Math.floor(DiffZeit/60);
// Minutenanteil der Dauer:
var DauerM = DiffZeit - (DauerH * 60);
DauerH = "00" + DauerH;
DauerH = DauerH.substr(-2);
DauerM = "00" + DauerM;
DauerM = DauerM.substr(-2);
// Ergebnis im Format "hh:mm" zusammensetzen:
event.value = DauerH + ":" + DauerM;