Java GregorianCalendar - "before()" funktioniert nicht
timt
- java
0 Daniel Thoma0 Slyh
Habe folgenden Code aus der Uni der leider bei mir nicht funktioniert. Kann leider den Fehler nicht finden. Weiß jemand was daran nicht korrekt ist? Eclipse unterstreicht das "before()". Kann mir jemand nen Tip geben? Bin echt ratlos.
import java.util.*;
public class GregorianExample
{
public static void main(String[] args){
GregorianCalendar cal = new GregorianCalendar(1975, Calendar.FEBRUARY, 11);
if (cal.getTime().before(new Date())){
System.out.println("Liegt in der Vergangenheit...");
}
}
Hallo timt,
if (cal.getTime().before(new Date())){
System.out.println("Liegt in der Vergangenheit...");
}
Interessant, dass Eclipse das als Fehler erkennt, denn rein von der Typisierung her, ist das korrekt und gibt keinen Kompilerfehler.
Allerdings gibt before() für Objekte, die keine Instanzen von Calendar sind, immer false zurück, weswegen der Code ziemlich sinnlos ist.
Versuch es mal mit "new GregorianCalendar()".
Grüße
Daniel
habe es grad noch mit "new GregorianCalendar()" probiert, aber bekomme den gleichen Fehler.
Eclipse sagt mir: "The method before(Date) in the type Date is not applicable for the arguments (Date)"
was ich auch irgendwie unlogisch finde...^^
Hi,
habe es grad noch mit "new GregorianCalendar()" probiert, aber bekomme den gleichen Fehler.
Eclipse sagt mir: "The method before(Date) in the type Date is not applicable for the arguments (Date)"
was ich auch irgendwie unlogisch finde...^^
Was hast Du bei import stehen?
Evtl. import java.sql.Date; ?
cu,
Andreas
Danke für die Mühe. Habs nun Hinbekommen. Hatte einfach nur ne Klasse "Date" schon im gleichen Ordner, die er dann versucht hat zu benutzen... Also sorry habs verrafft.. :)
Hallo,
if (cal.getTime().before(new Date())){
System.out.println("Liegt in der Vergangenheit...");
}
Allerdings gibt before() für Objekte, die keine Instanzen von Calendar sind, immer false zurück, weswegen der Code ziemlich sinnlos ist.
Versuch es mal mit "new GregorianCalendar()".
Ich glaube, du hast da irgendwelche Klassen oder Methoden verwechselt.
cal.getTime() liefert ein Date-Objekt. Die Methode "before()" ist dort
definiert und funktioniert mit einem Date-Objekt als Parameter immer.
Der Ursprungscode von timt funktioniert bei mir auch wunderbar...
Gruß
Slyh
Hallo Slyh,
Ich glaube, du hast da irgendwelche Klassen oder Methoden verwechselt.
Fast, ich habe das getTime() schlicht überlesen, Calendar hat auch eine Methode before(Object) ;-)
Grüße
Daniel
Hallo,
der Code scheint korrekt zu sein. Wenn das wirklich dein Original-Code ist, würde
ich den Fehler woanders suchen. Wurde der Quellcode evtl. noch nicht gebaut?
Ist im Menü "Project" der Punkt "Build Automatically" eingeschaltet, so dass
Eclipse bei jedem Speichern automatisch baut?
Gruß
Slyh