diff --git a/src/main/java/de/deversmann/domain/Zeiterfassung.java b/src/main/java/de/deversmann/domain/Zeiterfassung.java new file mode 100644 index 0000000..e58ddcb --- /dev/null +++ b/src/main/java/de/deversmann/domain/Zeiterfassung.java @@ -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); + } +}