需求解析:
獲得當月的起始和結束時間,當前時間為: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); } }
執行結果: