Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Zeitberechnung inklusive Pausen etc. Planung

  Alt 17. Jan 2012, 16:23
Ich unterstelle Du verwendest TDateTime (Datumstyp in Delphi) und die unit DateUtils.
Delphi-Quellcode:
Dauer:= 19,67 //...
Enddatum:= IncDay(Startdatum, trunc(Dauer)); // startdatum um die anzahl der tage erhöhen
Enddatum:= Enddatum + frac(dauer); // startdatum um die verbleibenden stunden erhöhen
fertig.

Allerdings solltest Du auch arbeitsfreie Tage berücksichtigen (Sonntag od. Feiertag), d.h. entsprechende Tage dazuaddieren mit IncDay.
Wenn du einfach so am Ende die Stunden dazuzählst, dann kommst du niemals auf das richtige Ergebnis.
(und so sowieso nicht )
Deine Endzeit wäre 16:04:48 (0,67 Tage)
Richtig ist aber:
Code:
300h / 15,25h/Arbeitstag = 19,67 Arbeitstage => 19 ganze Arbeitstage
Rest-Stunden => 0,67 Arbeitstage * 15,25h/Arbeitstag = 10,2175h => 10:13:03
Aber es wird ja nicht rund um die Uhr gearbeitet.
Somit kann die Arbeit erst im Block 5 abgeschlossen werden
Code:
10,2175h - ( 3,50h (1.) + 2,25h (2.) + 1,75h (3.) + 2,00h (4.) ) = 0,7175h im 5. Block => 17:28:03
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat