获得当月的起始时间和结束时间

需求解析:

获得当月的起始和结束时间,当前时间为:2018-09-08 16:40:00即为9月份

所得结果为:2018-09-01 00:00:00-2018-09-30 23:59:59

代码如下:

  public static String[] getThisMonthStartAndEndTime(){
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
        Calendar calendar = Calendar.getInstance();
        String[] startAndEndDate = new String[2];//定义数组用于存放起始时间[0]和结束时间[1]
        //获取当月前的月的起始时间和结束时间
        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);//设置当月的起始时间
        startAndEndDate[0] = formatter.format(calendar.getTime());//存放到数组中
        calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(
                Calendar.DAY_OF_MONTH));//设置当月结束天为当月的最大天,如:9月份最大天为30,此时设置天为30
        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
                calendar.get(Calendar.DATE), 23, 59, 59);//设置当月的结束时间
        startAndEndDate[1] = formatter.format(calendar.getTime());//存放到数组中
        return startAndEndDate;
    }

方法调用:

  public static void main(String[] args) {
        String[] strs = DateUtil.getThisMonthStartAndEndTime();
        for (String str : strs) {
            System.err.println(str);
        }
    }

执行结果:

 

posted @ 2018-09-08 16:50  nihao小树苗  阅读(3450)  评论(0编辑  收藏  举报