package helper;


public class TextUiHelper {
	/**
	 * Formats a time interval in an approximate way. Used for time estimates
	 * etc.
	 * 
	 * @param milliseconds
	 * @return
	 */
	public static String formatTimeInterval(long milliseconds) {
		int seconds = (int) (milliseconds / 1000);
		int minutes = seconds / 60;
		int hours = minutes / 60;
		final int days = hours / 24;
		if (days != 0) {
			String ret = "" + days + " days";
			hours = hours % 24;
			if (hours != 0) {
				ret = ret + " and " + hours + " hours";
			}
			return ret;
		}
		if (hours != 0) {
			String ret = "" + hours + " hours";
			minutes = minutes % 60;
			if (minutes != 0) {
				ret = ret + " and " + minutes + " minutes";
				return ret;
			}
			return ret;
		}
		if (minutes != 0) {
			String ret = "" + minutes + " minutes";
			seconds = seconds % 60;
			if (seconds != 0) {
				ret = ret + " and " + seconds + " seconds";
				return ret;
			}
			return ret;
		}
		return seconds + " seconds";
	}
}

