Verbesserung der Zeiterfassung nach Team gespräch
parent
e832fc5f6f
commit
7b77f7b381
|
@ -1,41 +1,38 @@
|
|||
package de.deversmann.domain;
|
||||
|
||||
|
||||
public class Zeiterfassung {
|
||||
private long startzeit;
|
||||
private long endzeit;
|
||||
private boolean laufen;
|
||||
|
||||
private long startTime;
|
||||
private long endTime;
|
||||
private boolean isRunning;
|
||||
|
||||
public Zeiterfassung() {
|
||||
this.isRunning = false;
|
||||
}
|
||||
|
||||
public void start() {
|
||||
this.startzeit = System.currentTimeMillis();
|
||||
this.laufen= true;
|
||||
if (!isRunning) {
|
||||
startTime = System.currentTimeMillis();
|
||||
isRunning = true;
|
||||
System.out.println("Zeiterfassung gestartet");
|
||||
}
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
this.endzeit = System.currentTimeMillis();
|
||||
this.laufen= false;
|
||||
if (isRunning) {
|
||||
endTime = System.currentTimeMillis();
|
||||
isRunning = false;
|
||||
System.out.println("Zeiterfassung gestoppt, diff=" + getElapsedTimeInSeconds() + "s");
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
public long getElapsedTimeInSeconds() {
|
||||
if (isRunning) {
|
||||
long current = System.currentTimeMillis();
|
||||
return (current - startTime) / 1000;
|
||||
} else {
|
||||
return (endTime - startTime) / 1000;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue