/** * Return elapsed time in ms to displayable format with units. * * @param elapsed Elapsed time in ms. * @return Elapsed time in displayable format. */ public static String formatElapsed(double elapsed) { return formatElapsed(elapsed, true, false, false); }
/** * Return elapsed time in ms to displayable format with units. * * @param elapsed Elapsed time in ms. * @param pluralize If true, pluralize units when appropriate. * @param abbreviated If true, use abbreviated form of units. * @param round If true, round result to an integer. * @return Elapsed time in displayable format. */ public static String formatElapsed(double elapsed, boolean pluralize, boolean abbreviated, boolean round) { return formatElapsed(elapsed, pluralize, abbreviated, round, null); }
/** * Return elapsed time in ms to displayable format with units. * * @param elapsed Elapsed time in ms. * @return Elapsed time in displayable format. * @param minUnits Minimum units for return value (null = ms). */ public static String formatElapsed(double elapsed, TimeUnit minUnits) { return formatElapsed(elapsed, true, false, false, minUnits); }
@Test public void testElapsed() { assertEquals("0.1 seconds", DateUtil.formatElapsed(100.0, TimeUnit.SECONDS)); assertEquals("1 second", DateUtil.formatElapsed(1000.0)); assertEquals("1 minute", DateUtil.formatElapsed(60000.0)); assertEquals("3.59 days", DateUtil.formatElapsed(309898934.0)); assertEquals("98.2 years", DateUtil.formatElapsed(3098989343984.0)); assertEquals("-98.2 years", DateUtil.formatElapsed(-3098989343984.0)); assertEquals(100.0, DateUtil.parseElapsed("0.1 seconds"), 0.0); assertEquals(1000.0, DateUtil.parseElapsed("1 second"), 0.0); assertEquals(60000.0, DateUtil.parseElapsed("1 minute"), 0.0); assertEquals(310176000.0, DateUtil.parseElapsed("3.59 days"), 0.0); assertEquals(3098956320000.0, DateUtil.parseElapsed("98.2 years"), 0.0); assertEquals(-3098956320000.0, DateUtil.parseElapsed("-98.2 years"), 0.0); assertEquals(98.2, DateUtil.parseElapsed("98.2 years", TimeUnit.YEARS), 0.0); }