3 Stimmen

Erhöhe das Datum um 1 & wiederhole den Vorgang bis zum Ende des Monats

Ich habe einen String-Datum & ich möchte das Datum um 1 erhöhen & es sollte sich bis zum Ende des Monats wiederholen. beispielsweise, wenn ich November 2010 nehme, sollte es 30 Tage dauern. wenn ich Dezember 2010 nehme, sollte es 31 Tage dauern. unten zeigt meinen Code......

String date="12/01/2010";
String incDate;
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(date));
for(int co=0; co<30; co++){
    c.add(Calendar.DATE, 1); 
    incDate = sdf.format(c.getTime());
}

7voto

pablochan Punkte 5444
String date="12/01/2010";
String incDate;
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(date));
int maxDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
for(int co=0; co

``

Das Ergebnis von c.getActualMaximum(Calendar.DAY_OF_MONTH) wird der letzte Tag des Monats sein.

``

0voto

Tripex Punkte 1

Eine weitere Lösung könnte sein:

String date = "01/11/2010";
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Calendar c = Calendar.getInstance();
        try {
            c.setTime(sdf.parse(date));
        } catch (ParseException ex) {
            Logger.getLogger(DateIterator.class.getName()).log(Level.SEVERE, null, ex);
        }
        int maxDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
        for (int co = 0; co < maxDay; co++) {
            System.out.println(sdf.format(c.getTime()));
            c.add(Calendar.DATE, 1);
        }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X