public static List<TraceDate> getDate(String date)
throws ParseException
{
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = formater.parse(date);
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH); // 1月是0,2月是1
Calendar calendar = new GregorianCalendar(year, month, 1);
List<TraceDate> list = new ArrayList<TraceDate>();
while (calendar.get(Calendar.MONTH) == month)
{
calendar.setFirstDayOfWeek(Calendar.MONDAY);
if (calendar.get(Calendar.DAY_OF_WEEK) == calendar.getFirstDayOfWeek())
{
calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
Date first = calendar.getTime();
String str1 = formater.format(first);
TraceDate traceDate = new TraceDate();
traceDate.setStartTime(str1);
calendar.add(Calendar.DATE, 6);
String str2 = formater.format(calendar.getTime());
traceDate.setEndTime(str2);
list.add(traceDate);
}
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
}
return list;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------
import java.util.List;
import lombok.Data;
@Data
public class TraceDate
{
private String startTime;
private String endTime;
private Integer state;
}