/**
* 根据传入时间 获取昨天的开始时间
* @param time
* @return
*/
public static String getLastDayStartDate(String time) {
SimpleDateFormat foramt = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = foramt.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -1);//当前时间减一天
return foramt.format(cal.getTime()) + " 00:00:00";
}
/**
* 根据传入时间 获取昨天的结束时间
* @param time
* @return
*/
public static String getLastDayEndDate(String time) {
SimpleDateFormat foramt = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = foramt.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -1);//当前时间减一天
return foramt.format(cal.getTime()) + " 23:59:59";
}
/**
* 根据传入时间 获取上周一时间
* @param time
* @return
*/
public static String getLastWeekMonday(String time) {
SimpleDateFormat foramt = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = foramt.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
if (1 == cal.get(Calendar.DAY_OF_WEEK)) {//判断当前日期是否为周末,因为周末是本周第一天,如果不向后推迟一天的到的将是下周一的零点,而不是本周周一零点
cal.add(Calendar.DATE, -1);
}
cal.add(Calendar.DAY_OF_MONTH, -7);//时间减去7天
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//Calendar.MONDAY 这个是周一的意思 想获取周几就更换这个
return foramt.format(cal.getTime()) + " 00:00:00";
}
/**
* 根据传入时间 获取上周周天时间
* @param time
* @return
*/
public static String getLastWeekSunday(String time) {
SimpleDateFormat foramt = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = foramt.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
if (1 == cal.get(Calendar.DAY_OF_WEEK)) {//判断当前日期是否为周末,因为周末是本周第一天,如果不向后推迟一天的到的将是下周一的零点,而不是本周周一零点
cal.add(Calendar.DATE, -1);
}
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);//Calendar.SUNDAY 周天想获取周几就更换这个
return foramt.format(cal.getTime()) + " 23:59:59";
}
/**
* 根据传入时间 获取上月第一天的一时间
* @param time
* @return
*/
public static String getLastMonthFirstDate(String time) {
SimpleDateFormat foramt = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
String monthFirstDate = "";
try {
date = foramt.parse(time);
Calendar c = Calendar.getInstance();
//设置为指定日期
c.setTime(date);
//指定日期月份减去一
c.add(Calendar.MONTH, -1);
//指定日期月份减去一后的 获取第一天
c.set(Calendar.DAY_OF_MONTH, c.getActualMinimum(Calendar.DAY_OF_MONTH));
//获取最终的时间
Date lastDateOfPrevMonth = c.getTime();
monthFirstDate = foramt.format(lastDateOfPrevMonth)+" 00:00:00";
} catch (ParseException e) {
e.printStackTrace();
}
return monthFirstDate;
}
/**
* 根据传入时间 获取上月最后一天一时间
* @param time
* @return
*/
public static String getLastMonthEndDate(String time) {
SimpleDateFormat foramt = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
String monthFirstDate = "";
try {
date = foramt.parse(time);
Calendar c = Calendar.getInstance();
//设置为指定日期
c.setTime(date);
//指定日期月份减去一
c.add(Calendar.MONTH, -1);
//指定日期月份减去一后的 最大天数
c.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));
//获取最终的时间
Date lastDateOfPrevMonth = c.getTime();
monthFirstDate = foramt.format(lastDateOfPrevMonth)+" 23:59:59";
} catch (ParseException e) {
e.printStackTrace();
}
return monthFirstDate;
}