Skip to content

Instantly share code, notes, and snippets.

@Scarsz
Last active January 22, 2017 21:57
Show Gist options
  • Save Scarsz/21aec40aefce8a152c3e1b194c34eb1b to your computer and use it in GitHub Desktop.
Save Scarsz/21aec40aefce8a152c3e1b194c34eb1b to your computer and use it in GitHub Desktop.
package com.scarsz;
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String[] args) {
long millis = TimeUnit.MINUTES.toMillis(37) + TimeUnit.SECONDS.toMillis(19);
String message = getDurationBreakdown(millis);
System.out.println(message);
}
private static String getDurationBreakdown(long millis)
{
if (millis < 0) throw new IllegalArgumentException("Duration must be greater than zero!");
long days = TimeUnit.MILLISECONDS.toDays(millis);
millis -= TimeUnit.DAYS.toMillis(days);
long hours = TimeUnit.MILLISECONDS.toHours(millis);
millis -= TimeUnit.HOURS.toMillis(hours);
long minutes = TimeUnit.MILLISECONDS.toMinutes(millis);
millis -= TimeUnit.MINUTES.toMillis(minutes);
long seconds = TimeUnit.MILLISECONDS.toSeconds(millis);
StringBuilder sb = new StringBuilder(64);
if (days > 0) sb.append(days + " days ");
if (hours > 0) sb.append(hours + " hours ");
if (minutes > 0) sb.append(minutes + " minutes ");
if (seconds > 0) sb.append(seconds + " seconds");
return(sb.toString());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment