android将时间戳转为代表”距现在多久之前”的字符串

android将时间戳转为代表”距现在多久之前”的字符串

/**
 * 将时间戳转为代表"距现在多久之前"的字符串
 * @param timeStr   时间戳
 * @return
 */

public static String getStandardDate(String timeStr) {

    StringBuffer sb = new StringBuffer();

    long t = Long.parseLong(timeStr);
    long time = System.currentTimeMillis() - (t*1000);
    long mill = (long) Math.ceil(time /1000);//秒前

    long minute = (long) Math.ceil(time/60/1000.0f);// 分钟前

    long hour = (long) Math.ceil(time/60/60/1000.0f);// 小时

    long day = (long) Math.ceil(time/24/60/60/1000.0f);// 天前

    if (day - 1 > 0) {
        sb.append(day + "天");
    } else if (hour - 1 > 0) {
        if (hour >= 24) {
            sb.append("1天");
        } else {
            sb.append(hour + "小时");
        }
    } else if (minute - 1 > 0) {
        if (minute == 60) {
            sb.append("1小时");
        } else {
            sb.append(minute + "分钟");
        }
    } else if (mill - 1 > 0) {
        if (mill == 60) {
            sb.append("1分钟");
        } else {
            sb.append(mill + "秒");
        }
    } else {
        sb.append("刚刚");
    }
    if (!sb.toString().equals("刚刚")) {
        sb.append("前");
    }
    return sb.toString();
}

将Unix时间戳(long) → 普通时间?
String date = new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”).format(new java.util.Date(Unix timestamp * 1000))

发布了40 篇原创文章 · 获赞 45 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/CGG92/article/details/52055069