Hallo Delphianer ( schreibt man das so ?),
stimmt so.
folgendes Problem.
Ich möchte gerne errechnen wann ein Teil ( Laufzeit bekannt ) endet. Welche Uhrzeit und welches Datum.
Bsp.: Ich habe folgendes angelegt.
Frühschicht: 6 -14:30 Uhr Pause1 : 09:30-09:45Uhr Pause2 : 12:00-12:45Uhr
Spätschicht: 14:30-23:00 Uhr Pause1 : 16:30-16:45Uhr Pause2 : 20:00-20:30Uhr
= 15,25 Stunden produktive Arbeitszeit, siehe mein vorposter
Nun habe ich ein Auftrag der 300 Stunden läuft.
Dauer bis zur Fertigstellung: 300/15,25 = 19,67 Tage.
Ich benötige nun den Ansatz wie ich die Uhrzeit( Fertigstellung ) errechne. Pausen sollten berücksichtigt werden.
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.
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog