import android.util.Log; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by lu on 2019/10/26. */ public class TimeFormatUtil { public static final String DATE_FMT_1 = "HH:mm"; public static final String DATE_FMT_2 = "YYYY年MM月"; // public static final String DATE_FMT_3 = "YYYY-MM-dd HH:mm"; public static final String DATE_FMT_4 = "yyyy"; public static final String DATE_FMT_5 = "yyyyMMdd"; public static final String DATE_FMT_6 = "YYYY/YYYYMMdd"; public static final String DATE_FMT_7 = "yyyy-MM-dd HH:mm:ss"; /** * 日期转为字串 */ public static String getStrFromDate(Date date, String pattern) { DateFormat df = new SimpleDateFormat(pattern); String s = df.format(date); return s; } public static String getStrFromDate(long time, String pattern) { Date date = new Date(time); DateFormat df = new SimpleDateFormat(pattern); String s = df.format(date); return s; } public static final long SECOND = 1000; public static final long MINUTE = SECOND * 60; public static final long HOURS = MINUTE * 60; public static final long DAY = HOURS * 24; /** * 比较2个时间大小 * yyyy-MM-dd HH:mm 格式(自己可以修改成想要的时间格式) * @param startTime * @return 输出字符串格式 * 10分钟以内:刚刚 * 1小时以内:**分钟前 * 24小时以内:**小时前 * 8天以内(192小时以内):*天前 * 8天以上(192小时以上):显示日期 2019年12月20日 */ public static String timeCompare(String startTime, String sysTime) { String i = ""; if (sysTime.equals("")) { //防止未初始化 时间 return startTime; } sysTime = getStrFromDate(Long.valueOf(sysTime), DATE_FMT_7); //注意:传过来的时间格式必须要和这里填入的时间格式相同 SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FMT_7); try { Date date1 = dateFormat.parse(startTime);//开始时间 Date date2 = dateFormat.parse(sysTime);//结束时间 // 1 结束时间小于开始时间 2 开始时间与结束时间相同 3 结束时间大于开始时间 // if (date2.getTime() < date1.getTime()) { // //结束时间小于开始时间 // i = ; // } if (date2.getTime() > date1.getTime()) { //结束时间大于开始时间 i = ""; } i = ((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000)) + ""; if (((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000)) >= 8) { return startTime; } else if (1 <= ((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000)) && ((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000)) < 8) { i = String.valueOf(((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000))); return i + "天前"; } else if (((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000)) < 1) { if (((date2.getTime() - date1.getTime()) / (60 * 1000)) < 60) { i = (date2.getTime() - date1.getTime()) + ""; // Log.e("e", i); if (((date2.getTime() - date1.getTime()) / (60 * 1000)) < 10) { return "刚刚"; } else { i = String.valueOf((date2.getTime() - date1.getTime()) / (60 * 1000)); return i + "分钟前"; } } else { return ((date2.getTime() - date1.getTime()) / (60 * 60 * 1000)) + "小时前"; } } } catch (Exception e) { Log.e("e", e.toString()); } return startTime; } }
Android时间比较,输出对应格式
最新推荐文章于 2021-07-01 11:12:59 发布