获取当前时间的前面几个月的时间或几天的时间
如有疑问,可留言
public class GetUpMonthUtils {
private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//本月和前num个月一共(num+1)个月的时间
public static List<String> getUpMonth(int num) {
Date now = new Date();
List<String> list=new ArrayList<>();
for (int i = 1; i <= num; i++) {
Date newDate11 = stepMonth(now, -(num-i));
SimpleDateFormat y1 = new SimpleDateFormat("yyyy-MM"); //年
String format = y1.format(newDate11);
list.add(format);
}
return list;
}
//获取前month个月的时间
public static Date stepMonth(Date sourceDate, int month) {
Calendar c = Calendar.getInstance();
c.setTime(sourceDate);
c.add(Calendar.MONTH, month);
return c.getTime();
}
/**
* 获取当前时间的上一个月的上一天的时间
* @param num
* @return
*/
public static List<String> getUpDay(int num) {
Date now = new Date();
List<String> list=new ArrayList<>();
for (int i = 0; i < num; i++) {
Date newDate11 = stepDay(now, -(num-i));
SimpleDateFormat y1 = new SimpleDateFormat("yyyy-MM-dd"); //年
String format = y1.format(newDate11);
list.add(format);
}
return list;
}
public static Date stepDay(Date sourceDate, int month) {
Calendar c = Calendar.getInstance();
c.setTime(sourceDate);
c.add(Calendar.MONTH, month);//(month为负几就是获取前几个月的时间)
c.add(Calendar.DATE, -1);//(-1是获取前一天的,-3就是获取前三天的)
return c.getTime();
}
}