需求解析:
获得当月的起始和结束时间,当前时间为: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); } }
执行结果: