Két időintervallum közti "távolság" kiszámítása egyszerűen és gyorsan? (Pascal)
Lekérem az időt és csinálok valamit, majd ismét lekérem az időt, azt szeretném megkapni másodpercben, hogy mennyi mp telt el...
A két időpont egymásból történő kivonása ugye ebben az esetben nem játszik, illetve nem vezetett eredményre, mert ha mondjuk a második változó perc értéke kisebb mint az első, vagy közben "59 perc" helyett 0 perc lett" és stb) akkor a kivonásnak nincs értelme....
Milyen megoldás van erre?
Példa, hogy mire gondolok, ebben valaki megmutatná miként kell "másodpercet számolni egyszerűen":
Program Ido;
Uses CRT, DOS;
Var
o,p,m,s : Word;
meddig : Byte;
Begin
Randomize;
meddig:=0;
Repeat
GetTime(o,p,m,s);
Writeln('kezdés: ',o,' ',p,' ',m);
Delay(Random(90000)+9000);
GetTime(o,p,m,s);
Writeln('vége: ',o,' ',p,' ',m);
Inc(meddig);
Until(meddig = 15);
End.
Működik a kód, nem gondoltam volna, hogy a SysUtils unit is kell hozzá.
Miként lehetne, hogy egyértelműbben írja ki, hogy hány másodperc telt el? Ha két perc telt el és valahány másodperc, akkor is nehéz kikövetkeztetni a kiírásból hogy tulajdonképpen mennyi is telt el...
Program Ido;
Uses SysUtils,CRT, DOS,DateUtils;
Var
meddig : Byte;
DT,DT2 : TDateTime;
Begin
Randomize;
meddig:=0;
Repeat
DT := Now;
Writeln('Kezdés: '+FormatDateTime ('yyyymmhh_hhmmss.zzz',DT));
Delay(Random(90000)+9000);
DT2 := Now;
Writeln('Végzés: '+FormatDateTime ('yyyymmhh_hhmmss.zzz',DT2));
Writeln('Eltelt idő: ',(DT2-DT)*24*3600,' sec');
Inc(meddig);
Until(meddig = 15);
End.
Szia.
Formázás segitségével : Writeln('Eltelt idő: ',(DT2-DT)*24*3600:0:2,' sec');
:0:2 - Ami azt jelenti, hogy "0" hosszan (amennyi lesz annyi lesz ha ide 8-at irsz akkor 8 karakteren fogja megjeleniteni az egészet) és 2 tizedesjegyet jelenitsen meg.
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!