package test; import java.text.ChoiceFormat; import java.text.DateFormat; import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.Locale; public class test { public static final String ISO8601_DATETIME_PATTERN = "yyyy-MM-dd'T'HH:mm:ss"; public static final String ISO8601_DATE_PATTERN = "yyyy-MM-dd"; public static final String ISO8601_TIME_PATTERN = "HH:mm:ss"; public static final DateFormat DATE_HEADER_FORMAT = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ", Locale.US); private static final MessageFormat MINUTE_SECONDS = new MessageFormat("{0}{1}"); private static final double[] LIMITS = {0, 1, 2}; private static final String[] MINUTES_PART = {"", "1 minute ", "{0,number} minutes "}; private static final String[] SECONDS_PART = {"0 seconds", "1 second", "{1,number} seconds"}; private static final ChoiceFormat MINUTES_FORMAT = new ChoiceFormat(LIMITS, MINUTES_PART); private static final ChoiceFormat SECONDS_FORMAT = new ChoiceFormat(LIMITS, SECONDS_PART); static { MINUTE_SECONDS.setFormat(0, MINUTES_FORMAT); MINUTE_SECONDS.setFormat(1, SECONDS_FORMAT); } public static String formatElapsedTime(long millis) { long seconds = millis / 1000; long minutes = seconds / 60; Object[] args = {new Long(minutes), new Long(seconds % 60)}; return MINUTE_SECONDS.format(args); } public static void main(String[] args) { long elapsedTime = 456789; System.out.print("Total time: "); System.out.print(formatElapsedTime(elapsedTime)); System.out.println(" (" + elapsedTime + ")"); } }