Zeitberechnung

Hallo Ihr Wissenden,

für die Berechnung der Dauer eines Programmlaufes benötige ich eure Hilfe. Ich habe zwei Felder in denen die Anfangs- und die Endezeit steht. Die Felder haben den Aufbau HHMMSS. Wie kann ich nun durch eine Formel berechnen wie lange das Programm in Minuten gelaufen ist. Wichtig wäre bei der Berechnung auch, daß der Tageswechsel (Nachts) berücksichtigt wird.

Ich habe zwar auch schon rumgerechnet aber irgendwie fehlen mir am Ende immer ein paar Minuten.

Vielen Dank für Euere Hilfe.

durch umrechnung?
hallo,

wenn du die bereiche HH, MM und SS jeweils einer (byte-)zahl zuordnest (nennen wir sie h1,m1 und s1 für feld1 sowie h2,m2,s2 für feld2), und dann die zahl t1 als
t1=h1*3600+m1*60+s1 sowie t2 als
t2=h2*3600+m2*60+s2 berechnest,
dann wird die differenz d=t2-t1 ein positiver wert sein, der die anzahl der abgelaufenen sekunden darstellt.
ganz einfach eigentlich.

jetzt kannst du ein drittes feld aufbauen aus h3,m3 und s3 wobei
h3=abgerundet(d/3600)
m3=abgerundet((d-h3*3600)/60)
s3=d-h3*3600-m3*60
gilt. das wäre dann zusammen die abgelaufene zeit im format HHMMSS.

du musst das HHMMSS-feld natürlich korrekt in h,m uns s überführen können und zurück. dazu bietet jede programmiersprache beispielsweise einfache schneide- und konvertierungs-funktionen für zeichenketten

möglicherweise hat deine programmiersprache aber eine entsprechende methode für zeit-werte mit eingebaut?

ein frohes neues wünscht
bs

nachtrag
uups, wichtiger nachtrag:

dem tageswechsel (aber nur EINEM tageswechsel) kommst du auf die spur, wenn d eine negative zahl wird.
dann solltest du einfach noch 86400 (sekunden eines tages) drauf rechnen

beispiel:
if d>0 then
begin
writeln(‚es sind ‚,d,‘ sekunden vergangen.‘)
end
else
begin
d:=d+86400
writeln(‚es sind ein tag und ‚,d,‘ sekunden vergangen‘)
end

not testified!

grüsse, bs

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo BS,

vielen Dank. Ich werde das Ganze einmal durchrechnen.

Guten Rutsch

Achim