我的Java开发学习之旅------工具类:将播放器的进度值转换成相应的时间格式

2014-11-24 08:09:44 · 作者: · 浏览: 0

/**
 * 得到(当前播放时间/总播放时间)的格式如:

 * 00:00:08/00:01:40 

 * 00:03:00/00:30:00 

 * @author ouyangpeng (http://blog.csdn.net/ouyang_peng)
 */
public class TimeUtil {
	/**
	 * 格式化时间单元(时、分、秒)
	 *    小于10的话在十位上补0,如传入2的话返回02,传入12的话返回12
	 * @param time
	 *                  播放时间
	 * @return 格式化后的时间,如(02)
	 */
	public static String formatTimeUnit(int time) {
		return time < 10   0 + time :  + time;
	}
	/**
	 * @param format_time
	 * @return (时:分:秒)格式的时间格式,如(00:03:00)
	 */
	public static String formatTimeString(int format_time) {
		String hours=formatTimeUnit(format_time / 3600);  //时
		String minutes=formatTimeUnit((format_time / 60) % 60); //分
		String seconds=formatTimeUnit(format_time % 60); //秒
		return hours + : + minutes+ : + seconds;
	}

	/**
	 * @param current_time
	 *                  当前播放时间
	 * @param total_time
	 *                  总播放时间
	 * @return 当前播放时间/总播放时间,如(00:03:02/00:31:52)
	 */
	public static String getFormatTime(int current_time, int total_time) {
		current_time = Math.abs(current_time); // 得到当前播放时间的绝对值
		total_time = Math.abs(total_time); // 得到总播放时间的绝对值
		return formatTimeString(current_time) + / + formatTimeString(total_time);
	}
}

下面测试一下上面的工具类是否有效。

public class Test {
	public static void main(String[] args) {
		System.out.println(TimeUtil.formatTimeString(180));
		System.out.println(TimeUtil.getFormatTime(8, 100));
		System.out.println(TimeUtil.getFormatTime(182, 1912));
	
	}
}

测试结果如下:

00:03:00
00:00:08/00:01:40
00:03:02/00:31:52