java判斷今天,昨天,前天,不能用秒間隔的簡單實例
更新時間:2017年03月15日 10:58:06 投稿:jingxian
下面小編就為大家?guī)硪黄猨ava判斷今天,昨天,前天,不能用秒間隔的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
實例如下:
一 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小時進(jìn)制,
} 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;
}
。。。
// 獲取 今天開始結(jié)束 時間
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;
}
// 獲取 昨天開始結(jié)束 時間
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;
}
// 獲取 前天開始結(jié)束 時間
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;
}
}
以上這篇java判斷今天,昨天,前天,不能用秒間隔的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中Lombok @Value注解導(dǎo)致的variable not been initialized問題
本文主要介紹了Java中Lombok @Value注解導(dǎo)致的variable not been initialized問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07
SpringBoot中@Autowired 失效及@Autowired 注入為null的解決
在SpringBoot項目中,@Autowired注解用于自動注入依賴,但有時會注入失敗導(dǎo)致空指針異常,下面就來介紹一下如何解決,感興趣的可以了解一下2024-09-09
springboot打包實現(xiàn)項目JAR包和依賴JAR包分離
這篇文章主要介紹了springboot打包實現(xiàn)項目JAR包和依賴JAR包分離,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Spring中@EnableScheduling實現(xiàn)定時任務(wù)代碼實例
這篇文章主要介紹了Spring中@EnableScheduling實現(xiàn)定時任務(wù)代碼實例,@EnableScheduling 注解開啟定時任務(wù)功能,可以將多個方法寫在一個類,也可以分多個類寫,當(dāng)然也可以將方法直接寫在上面ScheddulConfig類中,需要的朋友可以參考下2024-01-01

