Android(安卓)以友好的方式显示时间
16lz
2022-06-15
/** * 以友好的方式显示时间 * * @param sdate * @return */ public static String friendly_time(String sdate) { Date time = null; if (TimeZoneUtil.isInEasternEightZones()) time = toDate(sdate); else time = TimeZoneUtil.transformTime(toDate(sdate), TimeZone.getTimeZone("GMT+08"), TimeZone.getDefault()); if (time == null) { return "Unknown"; } String ftime = ""; Calendar cal = Calendar.getInstance(); // 判断是否是同一天 String curDate = dateFormater2.get().format(cal.getTime()); String paramDate = dateFormater2.get().format(time); if (curDate.equals(paramDate)) { int hour = (int) ((cal.getTimeInMillis() - time.getTime()) / 3600000); if (hour == 0) ftime = Math.max( (cal.getTimeInMillis() - time.getTime()) / 60000, 1) + "分钟前"; else ftime = hour + "小时前"; return ftime; } long lt = time.getTime() / 86400000; long ct = cal.getTimeInMillis() / 86400000; int days = (int) (ct - lt); if (days == 0) { int hour = (int) ((cal.getTimeInMillis() - time.getTime()) / 3600000); if (hour == 0) ftime = Math.max( (cal.getTimeInMillis() - time.getTime()) / 60000, 1) + "分钟前"; else ftime = hour + "小时前"; } else if (days == 1) { ftime = "昨天"; } else if (days == 2) { ftime = "前天 "; } else if (days > 2 && days < 31) { ftime = days + "天前"; } else if (days >= 31 && days <= 2 * 31) { ftime = "一个月前"; } else if (days > 2 * 31 && days <= 3 * 31) { ftime = "2个月前"; } else if (days > 3 * 31 && days <= 4 * 31) { ftime = "3个月前"; } else { ftime = dateFormater2.get().format(time); } return ftime; }
更多相关文章
- FlexboxLayout使用指南
- Android(安卓)studio 导入github工程
- Android之ShortCut[setResult方式]
- Android(安卓)-- App生成快捷方式
- Android当前时间的获取
- android 判断耳机是否插入的几种方式
- android 使用post方式上传文件
- android 中 LocalSocket的基本使用方法
- Android调试工具 —— TraceView [整理]