/**
* 获取过去passTime天时间
*
* @param passTime
* @return
*/
private String getCurrentTime(Integer passTime) {
Calendar calendar = Calendar.getInstance();
//时间日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//设置过去7天时间
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - passTime);
//获取时间
Date today = calendar.getTime();
//格式化时间
String result = sdf.format(today);
return result;
}
/**
* 获取过去6个月的时间
*
* @return
*/
public List<String> getSixMonth() {
//返回值
Calendar calendar = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
String currentTime = formatter.format(calendar.getTime());
List<String> list = new ArrayList<String>();
int month = Integer.parseInt(currentTime.substring(5, 7));
int year = Integer.parseInt(currentTime.substring(0, 4));
for (int i = 5; i >= 0; i--) {
if (month > 6) {
if (month - i >= 10) {
list.add(year + "-" + String.valueOf(month - i));
} else {
list.add(year + "-0" + String.valueOf(month - i));
}
} else {
if (month - i <= 0) {
if (month - i + 12 >= 10) {
list.add(String.valueOf(year - 1) + "-" + String.valueOf(month - i + 12));
} else {
list.add(String.valueOf(year - 1) + "-0" + String.valueOf(month - i + 12));
}
} else {
if (month - i >= 10) {
list.add(String.valueOf(year) + "-" + String.valueOf(month - i));
} else {
list.add(String.valueOf(year) + "-0" + String.valueOf(month - i));
}
}
}
}
Collections.reverse(list);
return list;
}
/**
* 获取过去8周的周一
*
* @return
*/
private List<String> getPassEightWeekMonday() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
String dateNow = sdf.format(new Date());
try {
date = sdf.parse(dateNow);
} catch (ParseException e) {
e.printStackTrace();
}
List<String> list = new ArrayList<>();
Calendar cal = Calendar.getInstance();
cal.setTime(getThisWeekMonday(date));
list.add(sdf.format(cal.getTime()));
for (int i = 1; i < 8; i++) {
cal.add(Calendar.DATE, -7);
list.add(sdf.format(cal.getTime()));
}
return list;
}
/**
* 获取当前星期的星期一
*
* @param date
* @return
*/
private Date getThisWeekMonday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 获得当前日期是一个星期的第几天
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK);
// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
return cal.getTime();
}