nein, mal abgesehen davon das dieser Konstruktor Deprecated ist, wird beim Date der Monat vom 0-11 gerechnet. Daher übergibst du nicht den 20.12.1980, sondern den 20.13.1980 und daraus wird dann der 20.01.1981
[edit]auch wenn es aufwendig erscheint, so würde ich es imho machen:
Java:
Calendar c =newGregorianCalendar();
c.set(Calendar.YEAR,1980);
c.set(Calendar.MONTH,11);
c.set(Calendar.DAY_OF_MONTH,20);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.MILLISECOND,0);Date d = c.getTime();System.out.println(d.toString());
Ach so... Ich bin ja auch dumm^^
Okay dann hätt ich noch eine kurze Frage...
welcher Datentyp für Datumsangaben in Java ist den im Moment der beste? gregoriancalendar?
Weil Date dürfte doch schon veraltet sein...
oh okay danke ja das erscheint aufwendig, denn ich brauch das Datum nicht nur einmal...
Was ist denn am GregorianCalendar dann so viel besser, wenn er so umständlich ist?
ansonsten ist es ne Sache von 2 min, dir einen eigenen Konstruktor zu schreiben, um sowas auch dann in einem einZeilenStatement zu nutzen.
[edit] beim Geburstag bspw könnte sich das Problem ergeben, dass Date die ms zum 01.01.1970 speichert. Wenn dein Programm in einer anderen Zeitzone genutzt wird, kann daraus ein anderes Geburtsdatum entstehen. Für den Testgebrauch zum lernen von Java langt Date natürlich.[/edit]
Oh cool Dankeschön, aber eine Frage hätte ich noch
Wie kann ich mit Date Jahreszahlen aus dem 21 JH abspeichern? Also z.B. wenn ich z.B. den 3.4.2005 abspeichern möchte...
na ja, dann rechnest du halt 100 Jahre drauf...u.a. darum ist Date mit diesem Konstruktor Deprecated
[jAVA]Date(int year, int month, int date)
Deprecated. As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(year + 1900, month, date).[/code]
Gut, ich werd mich mal mit Calendar beschäftigen und wo ich was nachschaun kann, weiß ich ja jetzt auch
also nochmals dankeschön für die schnellen Antworten