1. 程式人生 > >java 獲取一定時間範圍內的所有月份

java 獲取一定時間範圍內的所有月份

需求:獲取2018年初到現在為止的所有月份統計資料

獲取到所有月份 遍歷月份獲取資料得到list在前臺顯示

程式碼:

main方法  使用simpledateFormat需要用try catch 包圍

public static void main(String[] args) {

        try{

            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
            String nowdate=format.format(new Date());//當前月份

            Date d1 = new SimpleDateFormat("yyyy-MM").parse("2018-01");//定義起始日期

            Date d2 = new SimpleDateFormat("yyyy-MM").parse(nowdate);//定義結束日期  可以去當前月也可以手動寫日期。

            Calendar dd = Calendar.getInstance();//定義日期例項

            dd.setTime(d1);//設定日期起始時間

            while (dd.getTime().before(d2)) {//判斷是否到結束日期

                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");

                String str = sdf.format(dd.getTime());

                System.out.println(str);//輸出日期結果

                dd.add(Calendar.MONTH, 1);//進行當前日期月份加1

            }
            System.out.println(nowdate);//輸出日期結果

        }catch (Exception e){
            System.out.println("異常"+e.getMessage());
        }

    }

結果: 本不包含當月的,手動新增到。