Android 时分秒展示计算方法
最近收到一个需求,再发送视频消息时,需要根据发送视频的时长,在代码中展示01:32:44或 32:44 或 01:44 或00:44几种格式,在此mark一下,好记性不如赖笔头!
代码如下:
BigDecimal mBigDecimal_first = new BigDecimal(item.getDuration());
BigDecimal mBigDecimal_second = new BigDecimal("60000");
BigDecimal mBigDecimal_third = new BigDecimal("1000");
String minute = mBigDecimal_first.divide(mBigDecimal_second, 0, BigDecimal.ROUND_FLOOR).toString();
String duration = "";
try {
String mTime = String.valueOf(item.getDuration());
SimpleDateFormat mSinpleDateFormat = new SimpleDateFormat("HH:mm:ss");
long timeLong = mSinpleDateFormat.parse(mTime).getTime();
duration = String.valueOf(timeLong);
} catch (Exception e) {
LogF.e(TAG, "Exception" + "duration:" + item.getDuration());
}
String secondTime = (mBigDecimal_first.divideAndRemainder(mBigDecimal_second)[1]).toString();
String thirdTime = (mBigDecimal_first.divideAndRemainder(mBigDecimal_second)[1]).divide(mBigDecimal_third, 0, BigDecimal.ROUND_HALF_UP).toString();
注意: BigDecimal.ROUND_FLOOR 是指对于不满1分钟的 向下取整,比如:40秒 就显示成 00:40 。本人之前在此埋过坑在此注明 。