public static Long getBeginDayOfYesterday(Integer day) {
Calendar cal = new GregorianCalendar();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.add(Calendar.DAY_OF_MONTH, day);
return cal.getTimeInMillis();
}
public static Long getEndDayOfYesterDay(Integer day) {
Calendar cal = new GregorianCalendar();
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
cal.add(Calendar.DAY_OF_MONTH, day);
return cal.getTimeInMillis();
}
/**
* 获取昨天开始时间和结束时间
*
* @return
*/
public static String getYesterdayStartTime(Integer day) {
Long startTime = getBeginDayOfYesterday(day);
DateTimeFormatter ftf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String startTimeStr = ftf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(startTime), ZoneId.systemDefault()));
return startTimeStr;
}
/**
* 获取昨天开始时间和结束时间
*
* @return
*/
public static String getYesterdayEndTime(Integer day) {
Long endTime = getEndDayOfYesterDay(day);
DateTimeFormatter ftf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String endTimeStr = ftf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endTime), ZoneId.systemDefault()));
return endTimeStr;
}
/**
* 根据指定日期增加月数
* @param sourceDate
* @param month
* @return
*/
public static Date stepMonth(Date sourceDate, int month) {
Calendar c = Calendar.getInstance();
c.setTime(sourceDate);
c.add(Calendar.MONTH, month);
return c.getTime();
}