Hallo!
Ich bekomme als erstes ein Start Datum 01.01.2007 und dann ein Enddatum: 31.07.2007 übergeben.
Ich muss die Range dazwischen in die einzelnen Monate zerlegen.
Sowas wie:
01.01.2007 - 31.01.2007
01.02.2007 - 29.02.2007
01.03.2007 - 31.03.2007
....
Das ganze muss über mehrere Jahre funktionieren.
Die Frage ist, ob ich das jetzt alles selber zerlegen, berechnen und darstellen muss, oder ob zb Calendar
oder GregorianCalendar sowas kann???
Wenn ja, wie?
Edit:
So weit bin ich schon allerdings ist das alles zu manuell:
Ich bekomme als erstes ein Start Datum 01.01.2007 und dann ein Enddatum: 31.07.2007 übergeben.
Ich muss die Range dazwischen in die einzelnen Monate zerlegen.
Sowas wie:
01.01.2007 - 31.01.2007
01.02.2007 - 29.02.2007
01.03.2007 - 31.03.2007
....
Das ganze muss über mehrere Jahre funktionieren.
Die Frage ist, ob ich das jetzt alles selber zerlegen, berechnen und darstellen muss, oder ob zb Calendar
oder GregorianCalendar sowas kann???
Wenn ja, wie?
Edit:
So weit bin ich schon allerdings ist das alles zu manuell:
Code:
String startDate = "01.01.2007";
String endDate = "31.07.2007";
// StartDatum auseinandernehmen und verarbeiten
int startYear = 0;
int startMonth = 0;
int startDay = 0;
String[]splittedStartDate = startDate.split("\\.");
startYear = Integer.parseInt(splittedStartDate[0]);
startMonth = Integer.parseInt(splittedStartDate[1]);
startDay = Integer.parseInt(splittedStartDate[2]);
// Start Jahr 2007
Calendar startDateCal = GregorianCalendar.getInstance();
startDateCal.set(startYear, startMonth, startDay);
int lastDay = startDateCal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(lastDay);
// EndDatum auseinandernehmen und verarbeiten
int endYear = 0;
int endMonth = 0;
int endDay = 0;
String[]splittedEndDate = endDate.split("\\.");
endYear = Integer.parseInt(splittedEndDate[0]);
endMonth = Integer.parseInt(splittedEndDate[1]);
endDay = Integer.parseInt(splittedEndDate[2]);
// Start Jahr 2007
Calendar endDateCal = GregorianCalendar.getInstance();
endDateCal.set(endYear, endMonth, endDay);