Class TimeFormatter
java.lang.Object
net.blockhost.commons.core.TimeFormatter
Utility class for formatting time durations into human-readable strings.
This class provides methods for converting durations into formatted strings suitable for display to users, such as countdown timers, cooldown displays, etc.
Example usage:
// Format seconds
TimeFormatter.formatSeconds(3661); // "1h 1m 1s"
// Format duration
TimeFormatter.format(Duration.ofMinutes(90)); // "1h 30m"
// Compact format
TimeFormatter.formatCompact(Duration.ofSeconds(125)); // "2:05"
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringFormats a Duration into a human-readable string.static StringformatCompact(long totalSeconds) Formats a duration in seconds into a compact MM:SS or HH:MM:SS format.static StringformatCompact(Duration duration) Formats a Duration into a compact MM:SS or HH:MM:SS format.static StringformatLong(long totalSeconds) Formats a duration with full unit names.static StringformatLong(Duration duration) Formats a Duration with full unit names.static StringformatMillis(long millis) Formats a duration in milliseconds into a human-readable string.static StringformatSeconds(long totalSeconds) Formats a duration in seconds into a human-readable string.static DurationParses a time string into a Duration.static longparseToSeconds(String input) Parses a time string into seconds.
-
Method Details
-
formatSeconds
Formats a duration in seconds into a human-readable string.
Format: "Xh Xm Xs" (e.g., "1h 30m 45s") Only non-zero units are included.
-
format
-
formatMillis
Formats a duration in milliseconds into a human-readable string. -
formatCompact
Formats a duration in seconds into a compact MM:SS or HH:MM:SS format.
Examples:
- 65 seconds -> "1:05"
- 3661 seconds -> "1:01:01"
-
formatCompact
-
formatLong
Formats a duration with full unit names.
Format: "X hours, X minutes, X seconds" (e.g., "1 hour, 30 minutes, 45 seconds")
-
formatLong
-
parseToSeconds
Parses a time string into seconds.
Supported formats:
- "30" or "30s" - 30 seconds
- "5m" - 5 minutes (300 seconds)
- "2h" - 2 hours (7200 seconds)
- "1d" - 1 day (86400 seconds)
- "1h30m" - 1 hour 30 minutes
-
parse
-