Erstellung einer ersten Version einer Stoppuhr für die Zeiterfassung
parent
daedc2bf63
commit
c0d96e2119
|
@ -0,0 +1,41 @@
|
||||||
|
package de.deversmann.domain;
|
||||||
|
|
||||||
|
public class Zeiterfassung {
|
||||||
|
private long startzeit;
|
||||||
|
private long endzeit;
|
||||||
|
private boolean laufen;
|
||||||
|
|
||||||
|
public void start() {
|
||||||
|
this.startzeit = System.currentTimeMillis();
|
||||||
|
this.laufen= true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void stop() {
|
||||||
|
this.endzeit = System.currentTimeMillis();
|
||||||
|
this.laufen= false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getElapsedTimeMillis() {
|
||||||
|
long endTime = laufen ? System.currentTimeMillis() : endzeit;
|
||||||
|
return endTime - startzeit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reset() {
|
||||||
|
this.startzeit = 0;
|
||||||
|
this.endzeit = 0;
|
||||||
|
this.laufen = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFormattedTime() {
|
||||||
|
long elapsed = getElapsedTimeMillis();
|
||||||
|
long hours = elapsed / (3600_000);
|
||||||
|
long remainder = elapsed % 3600_000;
|
||||||
|
long minutes = remainder / 60_000;
|
||||||
|
remainder = remainder % 60_000;
|
||||||
|
long seconds = remainder / 1_000;
|
||||||
|
long millis = remainder % 1_000;
|
||||||
|
|
||||||
|
// Formatierung zu einer lesbaren Zeitangabe
|
||||||
|
return String.format("%02d:%02d:%02d.%03d", hours, minutes, seconds, millis);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue