The following editor will bring you a simple example of Java judging today, yesterday, and the day before yesterday, and the second interval cannot be used. The editor thinks it is quite good, so I will share it with you now and give it as a reference for everyone. Let’s follow the editor and take a look.
The examples are as follows:
一 json optString 解析的TimesTamp string 二 long dateSec = (long) (Double.valueOf(timestamp) * 1000); 三 Date date=new Date(dateSec); 四 getTimestampString(date); public static String getTimestampString(Date paramDate) { String str = null; long l = paramDate.getTime(); Calendar localCalendar = GregorianCalendar.getInstance(); localCalendar.setTime(paramDate); int year = localCalendar.get(Calendar.YEAR); if(! isSameYear(year)){ //去年,直接返回 String paramDate2str = new SimpleDateFormat("yyyy MM dd", Locale.CHINA).format(paramDate); return paramDate2str; } if (isSameDay(l)) { int i = localCalendar.get(Calendar.HOUR_OF_DAY); if (i > 17) { str = "晚上 HH:mm";//HH表示24小时,hh表示12小时进制, } else if ((i >= 0) && (i <= 6)) { str = "凌晨 HH:mm"; } else if ((i > 11) && (i <= 17)) { str = "下午 HH:mm"; } else { str = "上午 HH:mm"; } } else if (isYesterday(l)) { str = "昨天 HH:mm"; } else if (isBeforeYesterday(l)) { str = "前天 HH:mm"; } else { str = "M月d日 HH:mm"; } String paramDate2str = new SimpleDateFormat(str, Locale.CHINA).format(paramDate); return paramDate2str; } 。。。 // 获取 今天开始结束 时间 public static TimeInfo getTodayStartAndEndTime() { Calendar localCalendar1 = Calendar.getInstance(); localCalendar1.set(Calendar.HOUR_OF_DAY, 0); localCalendar1.set(Calendar.MINUTE, 0); localCalendar1.set(Calendar.SECOND, 0); localCalendar1.set(Calendar.MILLISECOND, 0); Date localDate1 = localCalendar1.getTime(); long l1 = localDate1.getTime(); Calendar localCalendar2 = Calendar.getInstance(); localCalendar2.set(Calendar.HOUR_OF_DAY, 23); localCalendar2.set(Calendar.MINUTE, 59); localCalendar2.set(Calendar.SECOND, 59); localCalendar2.set(Calendar.MILLISECOND, 999); Date localDate2 = localCalendar2.getTime(); long l2 = localDate2.getTime(); TimeInfo localTimeInfo = new TimeInfo(); localTimeInfo.setStartTime(l1); localTimeInfo.setEndTime(l2); return localTimeInfo; } // 获取 昨天开始结束 时间 public static TimeInfo getYesterdayStartAndEndTime() { Calendar localCalendar1 = Calendar.getInstance(); localCalendar1.add(Calendar.DAY_OF_MONTH, -1);//5 localCalendar1.set(Calendar.HOUR_OF_DAY, 0);//11 localCalendar1.set(Calendar.MINUTE, 0);//12 localCalendar1.set(Calendar.SECOND, 0);//13 localCalendar1.set(Calendar.MILLISECOND, 0);//Calendar.MILLISECOND Date localDate1 = localCalendar1.getTime(); long l1 = localDate1.getTime(); Calendar localCalendar2 = Calendar.getInstance(); localCalendar2.add(Calendar.DAY_OF_MONTH, -1);//5 localCalendar2.set(Calendar.HOUR_OF_DAY, 23);//11 localCalendar2.set(Calendar.MINUTE, 59);//12 localCalendar2.set(Calendar.SECOND, 59);//13 localCalendar2.set(Calendar.MILLISECOND, 999);//Calendar.MILLISECOND Date localDate2 = localCalendar2.getTime(); long l2 = localDate2.getTime(); TimeInfo localTimeInfo = new TimeInfo(); localTimeInfo.setStartTime(l1); localTimeInfo.setEndTime(l2); return localTimeInfo; } // 获取 前天开始结束 时间 public static TimeInfo getBeforeYesterdayStartAndEndTime() { Calendar localCalendar1 = Calendar.getInstance(); localCalendar1.add(Calendar.DAY_OF_MONTH, -2); localCalendar1.set(Calendar.HOUR_OF_DAY, 0); localCalendar1.set(Calendar.MINUTE, 0); localCalendar1.set(Calendar.SECOND, 0); localCalendar1.set(Calendar.MILLISECOND, 0); Date localDate1 = localCalendar1.getTime(); long l1 = localDate1.getTime(); Calendar localCalendar2 = Calendar.getInstance(); localCalendar2.add(Calendar.DAY_OF_MONTH, -2); localCalendar2.set(Calendar.HOUR_OF_DAY, 23); localCalendar2.set(Calendar.MINUTE, 59); localCalendar2.set(Calendar.SECOND, 59); localCalendar2.set(Calendar.MILLISECOND, 999); Date localDate2 = localCalendar2.getTime(); long l2 = localDate2.getTime(); TimeInfo localTimeInfo = new TimeInfo(); localTimeInfo.setStartTime(l1); localTimeInfo.setEndTime(l2); return localTimeInfo; } private static boolean isSameDay(long paramLong) { TimeInfo localTimeInfo = getTodayStartAndEndTime(); return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime()); } private static boolean isYesterday(long paramLong) { TimeInfo localTimeInfo = getYesterdayStartAndEndTime(); return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime()); } private static boolean isBeforeYesterday(long paramLong) { TimeInfo localTimeInfo = getBeforeYesterdayStartAndEndTime(); return (paramLong > localTimeInfo.getStartTime()) && (paramLong < localTimeInfo.getEndTime()); } public static boolean isSameYear(int year) { Calendar cal = Calendar.getInstance(); int CurYear = cal.get(Calendar.YEAR); // Log.e("","CurYear="+CurYear);//2015 return CurYear==year; } 。。。。。。 public class TimeInfo { private long startTime; private long endTime; public long getStartTime() { return this.startTime; } public void setStartTime(long paramLong) { this.startTime = paramLong; } public long getEndTime() { return this.endTime; } public void setEndTime(long paramLong) { this.endTime = paramLong; } }
The above is the detailed content of Detailed introduction to Java's code examples for judging today, yesterday, and the day before yesterday, which cannot be separated by seconds.. For more information, please follow other related articles on the PHP Chinese website!