diff --git a/src/main/java/de/deversmann/domain/Zeiterfassung.java b/src/main/java/de/deversmann/domain/Zeiterfassung.java index e58ddcb..f3b7012 100644 --- a/src/main/java/de/deversmann/domain/Zeiterfassung.java +++ b/src/main/java/de/deversmann/domain/Zeiterfassung.java @@ -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 long getElapsedTimeInSeconds() { + if (isRunning) { + long current = System.currentTimeMillis(); + return (current - startTime) / 1000; + } else { + return (endTime - startTime) / 1000; + } } - - 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); - } -} +} \ No newline at end of file