/**
? ? * 獲取今日開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setDayRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(Calendar.MILLISECOND,0);
? ? ? ? calendar.set(Calendar.SECOND,0);
? ? ? ? calendar.set(Calendar.MINUTE,0);
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,0);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,24);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取昨天開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setYesterdayRange(PageData condition) {
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(Calendar.MILLISECOND,0);
? ? ? ? calendar.set(Calendar.SECOND,0);
? ? ? ? calendar.set(Calendar.MINUTE,0);
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,0);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,-24);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲得最近三天的開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setThreeRange(PageData condition) {
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(Calendar.MILLISECOND,0);
? ? ? ? calendar.set(Calendar.SECOND,0);
? ? ? ? calendar.set(Calendar.MINUTE,0);
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,24);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,-72);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲得近一周的開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setDaySevenRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,24);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,-168);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲得近一月的開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setDayTRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,24);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY,-720);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取本周開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setWeekRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.DAY_OF_WEEK, 7);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取上周開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setLastWeekRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.DAY_OF_WEEK, -7);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取本月開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setMonthRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.DAY_OF_WEEK, 7);
? ? ? ? calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY, 24);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取上月開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setLastMonthRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.add(Calendar.MONTH, -1);
? ? ? ? calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.DAY_OF_WEEK, 7);
? ? ? ? calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
? ? ? ? calendar.set(Calendar.HOUR_OF_DAY, 24);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取本季度開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setQuarterRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),? ? ? ? calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? int currentMonth = calendar.get(Calendar.MONTH) + 1;
? ? ? ? try {
? ? ? ? ? ? if (currentMonth >= 1 && currentMonth <= 3)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 0);
? ? ? ? ? ? else if (currentMonth >= 4 && currentMonth <= 6)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 3);
? ? ? ? ? ? else if (currentMonth >= 7 && currentMonth <= 9)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 6);
? ? ? ? ? ? else if (currentMonth >= 10 && currentMonth <= 12)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 9);
? ? ? ? ? ? calendar.set(Calendar.DATE, 1);
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.MONTH, 3);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取上季度開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setLastQuarterRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? int currentMonth = calendar.get(Calendar.MONTH) + 1;
? ? ? ? try {
? ? ? ? ? ? if (currentMonth >= 1 && currentMonth <= 3)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 0);
? ? ? ? ? ? else if (currentMonth >= 4 && currentMonth <= 6)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 3);
? ? ? ? ? ? else if (currentMonth >= 7 && currentMonth <= 9)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 6);
? ? ? ? ? ? else if (currentMonth >= 10 && currentMonth <= 12)
? ? ? ? ? ? ? ? calendar.set(Calendar.MONTH, 9);
? ? ? ? ? ? calendar.set(Calendar.DATE, 1);
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? calendar.add(Calendar.MONTH, -3);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.MONTH, 3);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取本年開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setYearRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), 0, calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.YEAR, 1);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * 獲取上一年開始時(shí)間和結(jié)束時(shí)間
? ? * @param condition
? ? * @return
? ? */
? ? private void setLastYearRange(PageData condition){
? ? ? ? Calendar calendar = Calendar.getInstance();
? ? ? ? calendar.set(calendar.get(Calendar.YEAR), 0, calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
? ? ? ? calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
? ? ? ? calendar.add(Calendar.YEAR, -1);
? ? ? ? condition.put("startTime",calendar.getTime());
? ? ? ? calendar.add(Calendar.YEAR, 1);
? ? ? ? condition.put("stopTime",calendar.getTime());
? ? }
? ? /**
? ? * ("startTime" -> "Fri Jun 08 00:00:00 CST 2018")String的Date轉(zhuǎn)為String類型的date? ?
? ? */
? ? private String strToformatDate(String date){
? ? ? ? String str="";
? ? ? ? Date date1=new Date();
? ? ? ? try {
? ? ? ? ? ? DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
? ? ? ? ? ? date1 = df.parse(date);
? ? ? ? ? ? df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
? ? ? ? ? ? str = df.format(date1);
? ? ? ? }catch (Exception e){
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? return str;
? ? }
? ? /**
? ? * ("startTime" -> "Fri Jun 08 00:00:00 CST 2018")String的Date轉(zhuǎn)為時(shí)間戳
? ? */
? ? public long toformatDate(String date){
? ? ? ? String str="";
? ? ? ? Date date1=new Date();
? ? ? ? try {
? ? ? ? ? ? DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
? ? ? ? ? ? date1 = df.parse(date);
? ? ? ? ? ? System.err.println(date1.getTime()/1000);
? ? ? ? }catch (Exception e){
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? return date1.getTime()/1000;
? ? }
/**
* 測(cè)試
*/
public static void main(String[] args) {
? ? PageData condition = new PageData();
? ? setLastQuarterRange(condition);
? ? String startTime=String.valueOf(strToformatDate(condition.get("startTime").toString()));
? ? String stopTime=String.valueOf(strToformatDate(condition.get("stopTime").toString()));
? ? System.out.println(startTime+"--->"+stopTime);
}
/**
* 得到n天之后是周幾
* @param days
* @return
*/
public static String getAfterDayWeek(String days) {
? ? ? ? int daysInt = Integer.parseInt(days);
? ? ? ? Calendar canlendar = Calendar.getInstance(); // java.util包
? ? ? ? canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會(huì)將月變動(dòng)
? ? ? ? Date date = canlendar.getTime();
? ? ? ? SimpleDateFormat sdf = new SimpleDateFormat("E");
? ? ? ? String dateStr = sdf.format(date);
? ? ? ? return dateStr;
}
/**
* 得到n天之后的當(dāng)前時(shí)間
* @param days
* @return
*/
public static String getAfterDayDate(String days) {
? ? ? ? int daysInt = Integer.parseInt(days);
? ? ? ? Calendar canlendar = Calendar.getInstance(); // java.util包
? ? ? ? canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會(huì)將月變動(dòng)
? ? ? ? Date date = canlendar.getTime();
? ? ? ? SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
? ? ? ? String dateStr = sdfd.format(date);
? ? ? ? return dateStr;
}
/**
? * 得到幾分鐘后的時(shí)間
? * @param date minute(可為正負(fù))
? * @return
? */
public static Date getAfterTimeDate(Date date,int minute) {
? ? Calendar canlendar = Calendar.getInstance(); // java.util包
? ? canlendar.setTime(date);
? ? canlendar.add(Calendar.MINUTE, minute); // 日期減 如果不夠減會(huì)將月變動(dòng)
? ? return canlendar.getTime();
}
/**
? * 時(shí)間相減得到天數(shù)(開始時(shí)間和結(jié)束時(shí)間可任意大?。?/p>
? * @param beginDateStr(格式為"yyyy-MM-dd",也可為"yyyy-MM-dd hh:mm:ss")
? * @param endDateStr
? * @return? long
? */
? public static long getDaySub(String beginDateStr,String endDateStr){
? ? ? long day=0;
? ? ? SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
? ? ? //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
? ? ? Date beginDate = null;
? ? ? Date endDate = null;
? ? ? try {
? ? ? ? beginDate = format.parse(beginDateStr);
? ? ? ? endDate= format.parse(endDateStr);
} catch (ParseException e) {
? ? ? ? e.printStackTrace();
}
? ? ? day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);
? ? ? //System.out.println("相隔的天數(shù)="+day);
? ? ? return day;
? }
---------------------
作者:123~六兒
來(lái)源:CSDN
原文:https://blog.csdn.net/weixin_43052839/article/details/82015021
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!