# Verfügt Gregorian Cal. auch über Schaltjahr



## Lautsprecher (8. März 2006)

Hallo,
ich hab folgendes Problem mit folgendem Code:



```
Calendar cal_n_Tag = new GregorianCalendar(diesesJahr,dieserMonat,dieserTag);
cal_n_Tag.add(Calendar.DAY_OF_MONTH, 1);
naechstesJahr   = cal_n_Tag.get(Calendar.YEAR); 
naechsterMonat = cal_n_Tag.get(Calendar.MONTH);
naechsterTag   = cal_n_Tag.get(Calendar.DAY_OF_MONTH);
```

//Int diesesJahr = 2006
//Int dieserMonat = 02
//Int dieserTag = 28

mit dem roten 1 möchte ich praktisch den nächsten Tag ermitteln ....
dabei erhalte ich dan den 29.02.2006 anstatt richtig
01.03.2006

Weiß da jemand vielleicht einen Rat?


----------



## Thomas Darimont (8. März 2006)

Hallo!


```
System.out.println(new GregorianCalendar().isLeapYear(2004));
        System.out.println(new GregorianCalendar().isLeapYear(2005));
        System.out.println(new GregorianCalendar().isLeapYear(2006));
        System.out.println(new GregorianCalendar().isLeapYear(2007));
        System.out.println(new GregorianCalendar().isLeapYear(2008));
```

Gruss Tom


----------



## Lautsprecher (9. März 2006)

Hi Thomas,
danke Dir, dass bringt mich schon mal weiter. Wie sieht das aber dann mit dem nächsten Tag aus Erkennt der Gregorian Cal. beim nächsten Tag ermitteln automatisch ob es ein Schaltjahr ist? (siehe obigen Code: eben hier nicht) oder muss ich das noch manuell steuern, indem ich den isLeap einbaue?

Grüße
Daniel


----------



## Thomas Darimont (10. März 2006)

Hallo!

Der Monat startet bei 0... ->

```
Calendar calendar = new GregorianCalendar(2006,1,28);
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        System.out.println(calendar.getTime());
```
Ergibt:

```
Wed Mar 01 00:00:00 CET 2006
```

Ich weis die Bibliotheken zur Zeitberechnung unter Java sind echt eine Qual...
aber hier kommt Joda Time to the rescue 
http://www.tutorials.de/forum/java/...tive-zu-date-und-calendar.html?highlight=Joda

Gruß Tom


----------

