Long类型时间如何转换成视频时长?
数据库中存放的视频时长是一个Long类型的毫秒/秒时间,现在需要把这个时间转换成标准的视频时长格式,在我看来这应该是一个很常用的转化有一个很常用的转换方法工具才对,可是我百度找了许久,没有一个简单直观的工具类刚好满足我的需求,好吧,找不到更好,那我自己写一个工具类自己用,同时也方便以后大家需要,供大家参考参考!
import java.util.Date; public class VideoTimeUtil { /** * 毫秒时间 * Long类型时间转换成视频时长 */ public static String format(Long time){ if(time == null){ return null; }else{ Date date = new Date(time); long hour = time/(60*60*1000); long minute = (time - hour*60*60*1000)/(60*1000); long second = (time - hour*60*60*1000 - minute*60*1000)/1000; return (hour==0?"00":(hour>10?hour:("0"+hour)))+":"+(minute==0?"00":(minute>10?minute:("0"+minute)))+":"+(second==0?"00":(second>10?second:("0"+second))); } } /** * 时间为秒 * Long类型时间转换成视频时长 */ public static String formatTime(Long time){ if(time == null){ return null; }else{ Date date = new Date(time); long hour = time/(60*60); long minute = (time - hour*60*60)/60; long second = time - hour*60*60 - minute*60; return (hour==0?"00":(hour>10?hour:("0"+hour)))+":"+(minute==0?"00":(minute>10?minute:("0"+minute)))+":"+(second==0?"00":(second>10?second:("0"+second))); public static void main(String args[]){ Long time = 6556L; String format = VideoTimeUtil.formatTime(time); System.out.println(format); } }
以上main方法输出结果如下: