Here you can find the source of formatDuration(long duration)
public static String formatDuration(long duration)
//package com.java2s; /**/*w w w.j av a2 s . c o m*/ * Copyright (C) 2000 - 2012 Silverpeas * * This program is free software: you can redistribute it and/or modify it under the terms of the * GNU Affero General Public License as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * As a special exception to the terms and conditions of version 3.0 of the GPL, you may * redistribute this Program in connection with Free/Libre Open Source Software ("FLOSS") * applications as described in Silverpeas's FLOSS exception. You should have received a copy of the * text describing the FLOSS exception, and it is also available here: * "http://www.silverpeas.org/docs/core/legal/floss_exception.html" * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License along with this program. * If not, see <http://www.gnu.org/licenses/>. */ public class Main { private static final long millisPerHour = 60l * 60l * 1000l; private static final long millisPerMinute = 60l * 1000l; public static String formatDuration(long duration) { long hourDuration = duration / millisPerHour; long minuteDuration = (duration % millisPerHour) / millisPerMinute; long secondDuration = ((duration % millisPerHour) % millisPerMinute) / 1000; StringBuilder result = new StringBuilder(10); if (hourDuration > 0) { if (hourDuration < 10) { result.append('0'); } result.append(hourDuration).append('h'); if (minuteDuration < 10) { result.append('0'); } result.append(minuteDuration).append('m'); } else if (hourDuration <= 0 && minuteDuration > 0) { result.append(minuteDuration).append('m'); } if (result.length() > 0 && secondDuration < 10) { result.append('0'); } return result.append(secondDuration).append('s').toString(); } }