Package org.kiwiproject.time
Class KiwiDurationFormatters
- java.lang.Object
-
- org.kiwiproject.time.KiwiDurationFormatters
-
public class KiwiDurationFormatters extends Object
Utilities for formatting durations of various types.See Apache Commons
DurationFormatUtils
for even more formatter methods.
-
-
Constructor Summary
Constructors Constructor Description KiwiDurationFormatters()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
formatDurationWords(long durationMillis)
A thin wrapper aroundDurationFormatUtils.formatDurationWords(long, boolean, boolean)
that always suppresses leading and trailing "zero elements" because why would you want to see "0 days 7 hours 25 minutes 0 seconds" instead of just "7 hours 25 minutes"? (We cannot think of a good reason...)static String
formatDurationWords(io.dropwizard.util.Duration duration)
Formats a DropwizardDuration
using English words.static String
formatDurationWords(Duration duration)
Formats a JavaDuration
using English words.
-
-
-
Method Detail
-
formatDurationWords
public static String formatDurationWords(Duration duration)
Formats a JavaDuration
using English words. Converts the duration to millis and then callsformatDurationWords(long)
.- Parameters:
duration
- the Java duration to format- Returns:
- the duration in words (e.g. 2 hours 5 minutes)
-
formatDurationWords
public static String formatDurationWords(io.dropwizard.util.Duration duration)
Formats a DropwizardDuration
using English words. Converts the duration to millis and then callsformatDurationWords(long)
.- Parameters:
duration
- the Dropwizard duration to format- Returns:
- the duration in words (e.g. 1 minute 45 seconds)
- Implementation Note:
- You will need the Dropwizard Duration class available at runtime to call this method!
-
formatDurationWords
public static String formatDurationWords(long durationMillis)
A thin wrapper aroundDurationFormatUtils.formatDurationWords(long, boolean, boolean)
that always suppresses leading and trailing "zero elements" because why would you want to see "0 days 7 hours 25 minutes 0 seconds" instead of just "7 hours 25 minutes"? (We cannot think of a good reason...)- Parameters:
durationMillis
- the duration in milliseconds to format- Returns:
- the duration in words (e.g. 10 minutes)
- See Also:
DurationFormatUtils.formatDurationWords(long, boolean, boolean)
- Implementation Note:
- The only real reason for this method to exist is so we don't constantly have to pass the two boolean arguments. Plus, boolean arguments are evil because what exactly does "true, false" tell you without requiring you to look at the parameter documentation?
-
-