[2019-07, 2019-08, 2019-09, 2019-10, 2019-11, 2019-12, 2020-01, 2020-02, 2020-03, 2020-04, 2020-05, 2020-06]
思路:
1. 创建一个list集合存放日期 2. 建日历对象,并将日期调整到12个月之前(比如北京时间是2020-7,调整之后是2019-7) 3. 由于要获取最近一年的月份所以循环12次 4. 在循环中将日历对象转为日期对象,在转为字符串对象,添加进list容器中 5. 每次添加完毕后把日历对象的月份+1(不然下次循环的日期没变化) 6. 最后返回集合即可
上代码:
//获取最近一年的月份 public static List<String> getThisYearMonths(){ //建一个容器 List<String> months=new ArrayList<>(); //获取日历对象 Calendar calendar = Calendar.getInstance(); //调整到12个月以前 calendar.add(Calendar.MONTH,-12); //循环12次获取12个月份 for (int i = 0; i < 12; i++) { //日历对象转为Date对象 Date date = calendar.getTime(); //将date转为字符串 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); String dateStr = sdf.format(date); //向list集合中添加 months.add(dateStr); //每次月份+1 calendar.add(Calendar.MONTH,1); } return months; }代码在这儿了按需修改
欢迎批评指正