java 将时间戳(毫秒ms)转为对应的日期格式,将毫秒转为时分秒等格式,及获取多少天之前的日期

转化为日期格式

// 转换为时分秒
public String formatTimeHMS(long time) {
   return new SimpleDateFormat("HH:mm:ss").format(time);
}
// 转换为年月日
public static String formatTimeYMD(long time) {
   return new SimpleDateFormat("yyyy-MM-dd").format(time);
}
// 转换为年月日时分秒毫秒
public static String formatTimeYMDHMSSSS(long time) {
   return new SimpleDateFormat("yyyyMMddHHmmssSSS").format(time);
}
// 转换为年-月-日 时:分:秒:毫秒
public static String formatTimeYMD_HMS_SSS(long time) {
   return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(time);
}

获取past天之前的日期

// 获取past天前的日期
public String getPastDate(int past) {
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
    Date today = calendar.getTime();
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
    return format.format(today);
}

将毫秒 换算成(天 时 分 秒 毫秒)

public static String formatTime(Long ms) {
    int ss = 1000;
    int 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;

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

你可能感兴趣的:(#,常用(错/忘)小知识,java,开发语言,jvm)