java判断今天,昨天,前天,不能用秒间隔的简单实例

网友投稿 240 2023-06-02


java判断今天,昨天,前天,不能用秒间隔的简单实例

实例如下:

一 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).fohttp://rmat(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);

localCalehttp://ndar2.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;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java读取某个文件夹下的所有文件实例代码
下一篇:详解java中保持compareTo和equals同步
相关文章

 发表评论

暂时没有评论,来抢沙发吧~