获取上个月的第一个和最后一个日期

13 java datetime calendar date

可能重复:
如何获取上个月的第一个日期和最后日期?(JAVA)

在java中,如何获取上个月的第一个和最后一个日期?

如果我没有错,以下代码将获取上个月的最后日期.

Calendar aCalendar = Calendar.getInstance();
aCalendar.set(Calendar.DAY_OF_MONTH, -1);    
aCalendar.add(Calendar.DAY_OF_MONTH, -1) ;
System.out.println(new Timestamp(aCalendar.getTime().getTime()));
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我.

谢谢.

Jig*_*shi 41

使用 getActualMaximum()

Calendar aCalendar = Calendar.getInstance();
// add -1 month to current month
aCalendar.add(Calendar.MONTH, -1);
// set DATE to 1, so first date of previous month
aCalendar.set(Calendar.DATE, 1);

Date firstDateOfPreviousMonth = aCalendar.getTime();

// set actual maximum date of previous month
aCalendar.set(Calendar.DATE,     aCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
//read it
Date lastDateOfPreviousMonth = aCalendar.getTime();
Run Code Online (Sandbox Code Playgroud)


小智 17

Calendar aCalendar = Calendar.getInstance();
aCalendar.set(Calendar.DATE, 1);
aCalendar.add(Calendar.DAY_OF_MONTH, -1);
Date lastDateOfPreviousMonth = aCalendar.getTime();
aCalendar.set(Calendar.DATE, 1);
Date firstDateOfPreviousMonth = aCalendar.getTime();
Run Code Online (Sandbox Code Playgroud)