konstantes Datum definieren

StehtimSchilf

Erfahrenes Mitglied
Hi Forum

ich möchte eigentlich nichts anders als eine konstante Calendar variable definieren in meiner Klasse mit dem Datum 01.01.09 aber irgendwie raff ich das nicht, weil ich ja das Datum mit setTime() setzen muss, Calendar() aber keinen Konstruktur hat... ähm.... ja?

oder gibt es einen anderen Weg eine Variable vom Typ "Datum" zu erzeugen, welche Konstante ist?

cheerioh & thx
SiS
 
Du kannst doch in der API sehen dass Calendar ein Interface ist. Und dort steht aucht
Direct Known Subclasses:
GregorianCalendar

Und der hat nen Constructor.
 
Im Idealfall benutzt man eine vernünftige DateTime API wie JodaTime. Dass die JDK interne aufs übelste verborkt ist, sollte sich mittlerweile rumgesprochen haben.

REINHAUN!
 
Ich hätte noch ne frage dazu

Ich habe eine klasse Auftrag mit 3 verschiedenen Terminen.

Code:
  GregorianCalendar erteilungsdatum = new GregorianCalendar();
	GregorianCalendar lieferdatum = new GregorianCalendar();
	GregorianCalendar rechnungsdatum = new GregorianCalendar()

Nun möchte ich das ich diese termine beim erstellen des Objektes der klasse Auftrag angebe.

quasi so:

Code:
Auftrag maier = new Auftrag (1,( 1956, Calendar.MARCH, 17 ),(1999,Calendar.MARCH, 9),(1999, Calendar.APRIL, 21));

mein problem wäre die verbindung zwischen den beiden sachen.
ein Constructor fehlt eigentlich aber ich weiß net genau wie der laufen soll da ich schon einen in der klasse habe für meinen auftrag.
 
Wie gesagt, tu dir nen gefallen und nimm JodaTime. Alles andere ist eine Qual:

Java:
new Auftrag(1, new DateTime(1956, 3, 17), new DateTime(1999, 3, 9), new DateTime(1999, 4, 21));

Der Konstruktor von Auftrag sieht dann z.B. so aus:
Java:
public Auftrag(int id, DateTime erteilungsDatum, DateTime lieferDatum, DateTime rechnungsDatum) {

  if (rechnungsDatum.isBefore(erteilungsDatum) {
   throw new IllegalArgumentException("..");
  }
}

...usw.

Gruß
Ollie
 
danke für deine hilfe :)


eine sache noch

wenn ich jetzt das datum erstelle


Code:
DateTime erteilungsdatum;

kennt er DateTime net und sagt er möchte das ändern in Date usw.

oder es gibt DateTime Syntax / DateTimeDV

ist das korrekt
 
Wenn du das downloadest, hast du ein paar Jars. So wie z. B. wenn du die JRE installierst, dass du im lib-Dir. die Dateien "rt.jar", "resources.jar", "jsse.jar" usw. Da stehen die Klassen drinnen, die er braucht.

Unter Eclipse klickst du mit der rechten Maustaste im Package Explorer, in der weißen/hellgrauen Leiste oben oder ähnliches auf dein Projekt, dann ganz unten im Contex-Menü auf Properties (alternativ das Projekt markieren und Alternate + Return drücken), dann links Java Build Path und im Reiter Librariers. Dann rechts auf den Button Add External JARs... und die Dateien auswählen. Geht mit allen auf einmal. Dann sollten die Dateinamen und der Pfad im Feld in der Mitte stehen, und du brauchst nur noch mit OK bestätigen.

Dann findet er die Klassen beim importieren. (Alternate + 1, wenn der Cursor auf dem Klassennamen ist.). Eclipse zickt manchmal etwas rum, sollte es Probleme machen hilft ein Neustart des Programms so gut wie immer.


Andere Programme gehen warscheinlich ziemlich ähnlich, falls du keine IDE verwendest würde ich aber damit anfangen, ich sehe keinen Grund keine zu verwenden. (Eclipse muss nichtmal installiert werden.)

Ach ja, ich würde dir raten Camel-Case zu schreiben (statt "erteilungsdatum" "erteilungsDatum"), und besser englische Namen zu verwenden. Ließt sich schöner, und ist wohl auch für Wartungsarbeiten optimaler.
 

Neue Beiträge

Zurück