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); } }