工具类:将毫秒转换成天时分秒

如果你想拿到安卓系统的开机时间,那么会发现一个很神奇的事实:


你拿到的是一个很长的数字,就是毫秒值

这个值肯定是不适合往服务器传递的,后台看见估计要蒙蔽,因此需要规范化一下,把毫秒转换成几天几小时几秒什么的~

二话不说直接上方法,传进去一个long,出一个String:


/**
 * 毫秒转化时分秒毫秒
 */
public static String formatTime(Long ms) {
    Integer ss = 1000;
    Integer mi = ss * 60;
    Integer hh = mi * 60;
    Integer dd = hh * 24;

    Long day = ms / dd;
    Long hour = (ms - day * dd) / hh;
    Long minute = (ms - day * dd - hour * hh) / mi;
    Long second = (ms - day * dd - hour * hh - minute * mi) / ss;
    Long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;

    StringBuffer sb = new StringBuffer();
    if(day > 0) {
        sb.append(day+"天");
    }
    if(hour > 0) {
        sb.append(hour+"小时");
    }
    if(minute > 0) {
        sb.append(minute+"分");
    }
    if(second > 0) {
        sb.append(second+"秒");
    }
    if(milliSecond > 0) {
        sb.append(milliSecond+"毫秒");
    }
    return sb.toString();
}

你可能感兴趣的:(细枝末节)