package com.kitty.poclient.util; /** * * @ClassName DateTimeFormatUtil * @Description 将歌曲毫秒值转为时间字符串 * @author 王梓光 * @date 2013-1-8上午11:07:42 * */ public class DateTimeFormatUtil { /** * 转为"02:49"或"01:02:49"的格式 * @param millisecond * @return */ public static String parseInt2Time(int millisecond){ int hour = (int) ((long)millisecond/(60*60*1000)); int munit = (int) ((long)(millisecond%(60*60*1000))/(60*1000)); int second = (int) ((long)(millisecond%(60*1000))/1000); return (hour==0?"":hour>10?hour+":":"0"+hour+":")+ (munit==0?"00:":munit<10?"0"+munit+":":munit+":")+ (second==0?"00":second<10?"0"+second:second); } /** * 将"00:03:21"格式的字符串转为"03:21" * @param timeString * @return */ public static String clearZeroHour(String timeString){ if(timeString!=null&&timeString.matches("^00:\\d{2}:\\d{2}$")){ return timeString.substring(3); } return timeString; } /** * 将"00:03:42"格式的字符转为毫秒值 * @param timestr * @return */ public static long time2LongMillis(String timestr){ String[] times = timestr.split(":"); if(times.length==1){ return Long.parseLong(times[0])*1000; }else if(times.length==2){ return (Long.parseLong(times[0])*60+Long.parseLong(times[1]))*1000; }else if(times.length==3){ return (Long.parseLong(times[0])*3600+Long.parseLong(times[1])*60+Long.parseLong(times[2]))*100; }else{ return 0; } } /** * 将"00:03:42"格式的字符转为毫秒值 * @param timestr * @return */ public static int time2IntMillis(String timestr){ String[] times = timestr.split(":"); if(times.length==1){ return Integer.parseInt(times[0])*1000; }else if(times.length==2){ return (Integer.parseInt(times[0])*60+Integer.parseInt(times[1]))*1000; }else if(times.length==3){ // return (Integer.parseInt(times[0])*3600+Integer.parseInt(times[1])*60+Integer.parseInt(times[2]))*100;//NumberFormatException: Invalid int: "" return 0; }else{ return 0; } } /*以毫秒为单位计算播放进度*/ public static int getPlayingProgress(long elapsedMills, long totalMillis) { // TODO Auto-generated method stub return (int) (Double.parseDouble(elapsedMills+"")/Double.parseDouble(totalMillis+"")*100); } /*转换毫秒值为时长字符串00:00*/ public static String parseMills2Time(long elapsedMills) { return parseInt2Time(Integer.parseInt(elapsedMills+"")); } }