Forenindex » Programme » Web/Internet » PDF Grundlagen / Web / eForms » Zusammenrechen von Uhrzeiten

Zusammenrechen von Uhrzeiten

Nueschtmanescht
Beiträge gesamt: 2

10. Aug 2020, 16:32
Bewertung:

gelesen: 3821

Beitrag als Lesezeichen
Guten Tag
Ich bin neu hier im Forum und habe direkt eine Frage die bestimmt einfach zu lösen ist, aber ich bin ein Neuling in Javascript und Adobe Acrobat pro DC

Ich soll eine Tabelle erstellen wo man sich mit seinen Arbeitszeiten morgens und mittags einträgt.
Nun habe ich mir aus gelesenem einen Code zusammengebastelt welcher auch schon den morgen zusammenrechnet.
Wie ich aber auch noch die Stunden des Nachmittags dazurechnen kann.... finde ich keine Lösung.
Zu der Zusammenrechnung von deRow1 und aRow1 soll noch die Zusammenrechnung von deRow1_2 mit aRow1_2 dazukommen.
Wie kann ich das in den unten stehenden Code integrieren? Hat jemand einen Tip wie das geht?
Mit feundlichen Grüssen
Nueschtmanescht

Code
  
// Startzeit aus Feld "deRow1" (Format "Zeit HH:MM"):
deRow1=this.getField("deRow1").value;


// Endezeit aus Feld "aRow1" (Format "Zeit HH:MM"):
aRow1=this.getField("aRow1").value;


// Startzeit in Minuten seit 00:00h umrechnen:
var StartZeit = deRow1.substr(0,2) * 60 + deRow1.substr(3,2) * 1;


// Endezeit in Minuten seit 00:00h umrechnen:
var EndeZeit = aRow1.substr(0,2) * 60 + aRow1.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;

Zusammenrechen von Uhrzeiten

Thomas Richard
Beiträge gesamt: 18542

12. Aug 2020, 19:05
Bewertung:

gelesen: 3574

Beitrag als Lesezeichen
Du musst früher ansetzen.

Zitat Wie ich aber auch noch die Stunden des Nachmittags dazurechnen kann.... finde ich keine Lösung.
Zu der Zusammenrechnung von deRow1 und aRow1 soll noch die Zusammenrechnung von deRow1_2 mit aRow1_2 dazukommen.


Die ausgegebenen Zeiten sind ja schon aus den eigentlich berechneten reinen Minuten in Stunden und Minuten aufgeteilt.

Von daher musst du die beiden Zeilen:

Code
// Zeitdifferenz in Minuten (auch tagesübergreifend):     
var DiffZeit = ((EndeZeit + 24*60) - StartZeit) % (24*60);


für beide Tageshälften getrennt berechnen, also einmal z.B.:
Code
// Zeitdifferenz Vormittags in Minuten (auch tagesübergreifend):     
var VMDiffZeit = ((VMEndeZeit + 24*60) - VMStartZeit) % (24*60);

und
Code
// Zeitdifferenz Nachmittags in Minuten (auch tagesübergreifend):     
var NMDiffZeit = ((NMEndeZeit + 24*60) - NMStartZeit) % (24*60);


Dann kannst du die Tagesgesamtminuten per
Code
// Vormittags- und Nachmittags-Minuten zusammen:     
var Tagesminuten = VMDiffZeit + NMDiffZeit;


berechnen um dann dafür nochmal den Aufteilungspassus um aus reinen Minuten eine

Stunden:Minuten Ausgabe zu machen:

Code
// ganze Stunden der Dauer:     
var TagesDauerH = Math.floor(Tagesminuten/60);

// Minutenanteil der Dauer:
var TagesDauerM = Tagesminuten - (TagesDauerH * 60);

TagesDauerH = "00" + TagesDauerH;
TagesDauerH = TagesDauerH.substr(-2);

TagesDauerM = "00" + TagesDauerM;
TagesDauerM = TagesDauerM.substr(-2);

// Ergebnis im Format "hh:mm" zusammensetzen:
event.value = TagesDauerH + ":" + TagesDauerM;



MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/

Zusammenrechen von Uhrzeiten

Nueschtmanescht
Beiträge gesamt: 2

13. Aug 2020, 12:58
Bewertung:

gelesen: 3470

Beitrag als Lesezeichen
Hallo Thomas

Vielen Dank für deine Hilfe.
So hats geklappt.
MfG

Jerry