Java examples for java.lang:Math Algorithm
converts time (in milliseconds) to human-readable format " days, hours, minutes and (z) seconds"
//package com.java2s; import java.util.Date; public class Main { public static void main(String[] argv) throws Exception { long duration = 2; System.out.println(millisToLongDHMS(duration)); }// w w w . j av a2 s . com public final static long ONE_SECOND = 1000; public final static long ONE_MINUTE = ONE_SECOND * 60; public final static long ONE_HOUR = ONE_MINUTE * 60; public final static long ONE_DAY = ONE_HOUR * 24; /** * converts time (in milliseconds) to human-readable format * "<w> days, <x> hours, <y> minutes and (z) seconds" */ public static String millisToLongDHMS(long duration) { if (duration > 0) { duration = new Date().getTime() - duration; } if (duration < 0) { duration = 0; } StringBuffer res = new StringBuffer(); long temp = 0; if (duration >= ONE_SECOND) { temp = duration / ONE_DAY; if (temp > 0) { duration -= temp * ONE_DAY; res.append(temp).append(" day").append(temp > 1 ? "s" : "") .append(duration >= ONE_MINUTE ? ", " : ""); } temp = duration / ONE_HOUR; if (temp > 0) { duration -= temp * ONE_HOUR; res.append(temp).append(" hour") .append(temp > 1 ? "s" : "") .append(duration >= ONE_MINUTE ? ", " : ""); } temp = duration / ONE_MINUTE; if (temp > 0) { duration -= temp * ONE_MINUTE; res.append(temp).append(" minute") .append(temp > 1 ? "s" : ""); } if (!res.toString().equals("") && duration >= ONE_SECOND) { res.append(" and "); } temp = duration / ONE_SECOND; if (temp > 0) { res.append(temp).append(" second") .append(temp > 1 ? "s" : ""); } res.append(" ago"); return res.toString(); } else { return "0 second ago"; } } }