# Das letzte Datum vom letzten Monat ausgeben



## JeAr (13. August 2010)

Hallo Zusammen

ich will gerne ein relativ einfaches Java programm schreiben.
welches das aktuelle datum ausliest und danach einen monat zurückgeht und dessen letztes datum auswählt
sprich für das heutige datum vom 13.08.11 sollte mir das programm dann 31.07.2011 liefern

weil dies jedoch mein erstes programm ist habe ich keine ahnung wie ich das anstellen soll :S

könnt ihr mir da vielleicht helfen Smile


Vielen dank gruss JeAr


----------



## Matt297 (13. August 2010)

Java bietet eine herrvoragende Klasse für sowas: java.util.Calendar bzw. GregorianCalendar. Calendar ist eine abstrakte Klasse und G.Calendar ist eine Implementierung die für uns passt.
Hier ein kleines Beispiel für deine Situation:


```
public class Main {

	public static void main(String[] args) {
		Calendar cal = GregorianCalendar.getInstance();
		if (cal.get(Calendar.MONTH) == 0) {
			cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) - 1);
			cal.set(Calendar.MONTH, 11);
		} else {
			cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) - 1);
		}
		cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
		System.out.println(cal.getTime());
	}

}
```


----------



## Thomas Darimont (13. August 2010)

Hallo,

reicht da nicht:

```
package de.tutorials;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class DateOps {
	public static void main(String[] args) throws Exception{
		Calendar cal = GregorianCalendar.getInstance();
		
		//cal.setTime(new SimpleDateFormat("dd.MM.yyyy").parse("31.01.2010"));
		
		cal.add(Calendar.MONTH, -1);
		cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));
		
		System.out.println(cal.getTime());
	}
}
```
aus?

Gruß Tom


----------



## Matt297 (13. August 2010)

Ja stimmt, ich war in dem Glauben, dass die Calendar-Klasse Addition noch nicht unterstützt, hätte ich mal genauer nachschauen sollen 
Dann kann man sich das überprüfen sparen...


----------

