# Tage subtrahieren von einem Date()



## Rin (9. Jun 2011)

Hallo leute,

weiß is maybe bissl peinlich aber ich hab eine Date Definiert:

```
Date nowDate = new Date();
	 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	 String now = df.format(nowDate);
```
so jetzt muss ich aber 30 tage von dem heutigen Datum abziehen damit ich das mit einem Datenbank eintrag vergleichen kann und ich arbeite mit JavaDB da funktioniert das nicht über SQL weil so sachen wie Currentdate oder Dateadd(), Now() etc nicht funktionieren

hoffe ihr könnt mir da ansätze und tipps geben 

danke LG Rin


----------



## Gast2 (9. Jun 2011)

Du kannst statt dem Date maybe den GregorianCalendar verwenden.
Dort hast du eine add Methode wo du z.b. 30 Tage abziehen kannst.


----------



## NattleBet (9. Jun 2011)

hmm theroetisch so...


```
Date nowDate = new Date();
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		long tage30 = 1000 * 60 * 60 * 30;
		Date newDate = new Date(nowDate.getTime() - tage30);
		System.out.println("Jetzt:			" + df.format(nowDate));
		System.out.println("Heute vor 30 Tagen:	" + df.format(newDate));
```

aber irgendwie platzt bei mir der long ganz knapp aus den Nähten ;(
Mit 10 Tagen gehts ^^


----------



## eRaaaa (9. Jun 2011)

NattleBet hat gesagt.:


> hmm theroetisch so...
> 
> 
> ```
> ...



new Date(nowDate.getTime()-(1000*60*60*24*30l));


----------



## Miness (9. Jun 2011)

... oder auch so, wie es EikeB schon erwähnt hat:


```
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(Calendar.DAY_OF_MONTH, -30);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(c.getTime()));
```


----------



## Rin (9. Jun 2011)

danke euch allen hat mir sehr geholfen und jetzt denk ich mir xD knapp war ich eh schon drann =) 

danke leute :toll::applaus:


----------



## Suinos (9. Jun 2011)

Um noch einfacher auf die Millisekunden zu kommen:

```
long millis = TimeUnit.DAYS.toMillis(30);
```
Dieses Enum ist unglaublich nützlich, seit 1.5 dabei und trotzdem irgendwie gar nicht bekannt.
Schade eigentlich.


----------

