# Date um 1 Jahr erhöhen?



## internet (13. Mai 2011)

Hallo,
			wie kann ich ein Datum in die Zukunft setzen mit einem Jahr
			also Date date = new Date();
			Date ist nun im Jahr 2011
			Wie kann ich das Datum auf 2012 setzen?


----------



## Cypha (13. Mai 2011)

Schau dir mal GregorianCalendar an, den wirst du bei der Arbeit mit Datumsangaben brauchen. Date selbst hält ja nur noch den Zeitwert fest.


----------



## internet (13. Mai 2011)

geht das nicht mir Date?


----------



## XHelp (13. Mai 2011)

Selbst die API von Date verweißt dich auf Calendar. Warum willst du es nicht benutzen?


----------



## internet (13. Mai 2011)

Wie kann ich bei Calendar dann ein Simple Format nutzen?
Möchte das Datum mit MM-DD-YYYY HH:ss ausgeben


----------



## L-ectron-X (13. Mai 2011)

internet hat gesagt.:


> Wie kann ich bei Calendar dann ein Simple Format nutzen?
> Möchte das Datum mit MM-DD-YYYY HH:ss ausgeben




```
DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
System.out.println(formatter.format(new Date()));
//oder
System.out.println(formatter.format(Calendar.getInstance().getTime()));
```


----------



## internet (16. Mai 2011)

wie kann ich hier dann noch das Jahr um +1 erhöhen?


----------



## SlaterB (16. Mai 2011)

Calendar wurde genannt, hast du dich, abgesehen vom Nachschlagen des zugehörigen Imports, bereits umfassend dazu informiert?
dann stellt sich die Frage eigentlich nicht


----------



## internet (16. Mai 2011)

ich habe folgenden Code:


```
public String getFutureDate() {
	
		Calendar futureDate = Calendar.getInstance();
		futureDate.add(Calendar.YEAR, 1);
		
		DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
		Date date = new Date();
		futureDate.setTime(date);;
		String s = formatter.format(futureDate);;
		
		return s;
	}
```


Compilerfehler bekomme ich nicht, aber dafür diese Exception:



> Cannot format given Object as a Date


----------



## SlaterB (16. Mai 2011)

SimpleDateFormat kann mit Calendar nichts anfangen, aber aus einem Calendar kann man immer (z.B. nach Adden eines Jahres) wieder ein Date-Objekt herausholen,


----------



## internet (16. Mai 2011)

Ok, danke =)


----------



## internet (25. Mai 2011)

SlaterB hat gesagt.:


> SimpleDateFormat kann mit Calendar nichts anfangen, aber aus einem Calendar kann man immer (z.B. nach Adden eines Jahres) wieder ein Date-Objekt herausholen,



Ich dachte ich hätte es :/
Hm, wie mache ich das dann? "Wieder ein Date Objekt herausholen"?


----------



## SlaterB (25. Mai 2011)

schau dir alle Methoden an, nicht viele haben Rückgabewert Date
Calendar (Java 2 Platform SE 5.0)
notfalls Textsuche..


----------



## internet (25. Mai 2011)

ich habe das hier: 
	Das mit dem Format geht, aber wie erhöhe ich das Jahr um 1?
	So erhalte ich nur das aktuelle Datum wegen date = new Date();




```
public String getFutureDate() {

		Calendar futureDate = Calendar.getInstance();
		futureDate.add(Calendar.YEAR, 1);
		
		DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = new Date();
		futureDate.setTime(date);
		String s = formatter.format(date);;

		return s;
	}
```


----------



## bone2 (25. Mai 2011)

internet hat gesagt.:


> ich habe das hier:
> Das mit dem Format geht, aber wie erhöhe ich das Jahr um 1?
> So erhalte ich nur das aktuelle Datum wegen date = new Date();



is die frage ernst gemeint?
geh mal die zeilen deines programms durch und denke nach was du da machst


----------



## Gast2 (25. Mai 2011)

Was willst du denn da mit dem [c]new Date()[/c]?


```
public String getFutureDate() {

		Calendar futureDate = Calendar.getInstance();
		futureDate.add(Calendar.YEAR, 1);
		
		DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = futureDate.getTime();
		String s = formatter.format(date);
		return s;
	}
```


----------



## SlaterB (25. Mai 2011)

@internet
vielleicht hilft dir zum Vergleich folgendes Mathematik-Beispiel


```
public class Test {
    public static void main(String[] args)  {
        int x = 0;
        x += 3;

        x = 4;
        System.out.println(x);
    }
}
```
"wie kann man in Java x um 3 erhöhen, ist bei mir immer noch 4?"


----------



## internet (25. Mai 2011)

Ups 
Besten Dank =)


----------

