Gå til innhold

Beregne kjøretid i minutter og sekunder


Anbefalte innlegg

Jeg har prøvd å lage en metode som måler tiden for et program som jeg har laget. Jeg trodde jeg kunne bruke metoden

x = calendar.get(Calendar.SECOND); 
// ved starten av programmet
Y = calendar.get(Calendar.SECOND); 
// ved slutten av programmet 

Det viser seg imidlertid at det metoden kun gir tidpunktet for når programmet blir startet opp. Både X og Y blir altså lik det sekundet som programmet startet opp.

 

Jeg har søkt litt på internett, men har ikke funnet noen annen metode. Er det noen som kan hjelpe meg?

(Uten å gjøre det altfor komplissert!, jeg er nybegynner!!)

Endret av PelleP
Lenke til kommentar
Videoannonse
Annonse

Når man skal måle kjøretid, er det lurest å bruke System.currentTimeMillis() som returnerer gjeldende tidspunkt som antall millisekunder siden 1.1.1970.

 

Eks:

 

long start = System.currentTimeMillis();
// ved starten av programmet
long stop = System.currentTimeMillis();
// ved slutten av programmet

long runTime = stop - start;

 

Werner

Lenke til kommentar

Jeg trodde currentTimeMillis returnerte antall millisekunder siden programmets oppstart? Aja, nei, ser det nå. Lærer noe nytt hver dag. :) Fra dokumentasjonen:

Returns:

the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.

Endret av LostOblivion
Lenke til kommentar
Når man skal måle kjøretid, er det lurest å bruke System.currentTimeMillis() som returnerer gjeldende tidspunkt som antall millisekunder siden 1.1.1970.

 

Eks:

 

long start = System.currentTimeMillis();
// ved starten av programmet
long stop = System.currentTimeMillis();
// ved slutten av programmet

long runTime = stop - start;

 

Werner

Ja, det fungerete fint (etter en del knoting)!

 

Dersom man skal kommunisere med en bruker så ønsker man kanskje å angi tiden i minutter og sekunder, heller enn som millisekkunder. Finnes det en ferdig metode for å presentere feks 115000 ms som 01:55?

Lenke til kommentar
Du kan jo lage en egen metode som omdanner X antall millisekunder til en streng med minutter og sekunder.

 

1000 millisekund = 1 sekund

Jo det kan jeg nok, men da vil det kanskje være lettere å bruke meteoden calendar.get(Calendar.SECOND); og calendar.get(Calendar.MINUTE); , slik som jeg førtst hadde tenkt. Da må jeg også skrive en del kode for å trekke starttiden fra stopptiden, men heg tror allikevel det blir lettere. Jeg synes imildlertid at det er veldig rart at det ikke finnes ferdig metode for det.

Lenke til kommentar
Når man skal måle kjøretid, er det lurest å bruke System.currentTimeMillis() som returnerer gjeldende tidspunkt som antall millisekunder siden 1.1.1970.

 

Eks:

 

long start = System.currentTimeMillis();
// ved starten av programmet
long stop = System.currentTimeMillis();
// ved slutten av programmet

long runTime = stop - start;

 

Werner

Hva skjer dersom man kjører programmet på natten fra 23:59 til 00:01? Da vil runTime bli negativ, ikke sant?

Endret av PelleP
Lenke til kommentar
Nei.

 

Hvis du leser noen linjer opp ser du at metoden returnerer tidspunktet som antall millisekunder siden midnatt 1. januar 1970.

Ops!! :blush:

 

Jeg har etter en del googling funnet en metode for å konvertere tid angitt i millisekunder til formatet tt:mm:ss.

Det fungerte utmerket! :)

Endret av PelleP
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...