Enfa Geschrieben 17. Dezember 2006 Geschrieben 17. Dezember 2006 Hallo, Also ich habe 2 Datumswerte. Ich hole mir datetime-Werte aus einer Datenbank. Und die Werte, was ich per GregorianCalender in meine Programm erstelle. Die Daten aus der Datenbank sieht ja so aus: 2006-17-12 00.00.00. Die GregorianCalender habe ich so gebastelt: 17.12.2006. Jetzt brauche ich eure Hilfe. Wie kann ich diese Datum Werte mit einander vergleichen? Ich will nur wissen, ob die 2 Werte auf den selben Tag zeigen. Muss ich zuerst den Wert aus der Datenbank irgendwie ins String umwandeln und dann mit substring die werte ausschneiden, oder gibt es eine einfachere Lösung?? Vielen Dank im Voraus. Tschüss Zitieren
etreu Geschrieben 18. Dezember 2006 Geschrieben 18. Dezember 2006 Ich habe mal einen Blick auf die Klasse java.sql.Date geworfen. Das sie von java.util.Date erbt, kannst einfach das Object aus der Datenbank auf java.sql.Date casten und einem Calendar zuweisen. Dann kannst du die beiden Calendar miteinander vergleichen. GregorianCalendar c1, c2; // c1 entspricht deinem schon ex. Calendar java.sql.Date sqlDate; //... sqlDate = rs.getDate(//...); c2.setTime(sqlDate); //... // Vergleichen if (c1.get(Calendar.YEAR) == c2.get(Calendar.YEAR) && c2.get(Calendar.DAY_OF_YEAR) == c2.get(Calendar.DAY_OF_YEAR)) { //... } Soweit das Prinzip verstanden? Zitieren
Enfa Geschrieben 18. Dezember 2006 Autor Geschrieben 18. Dezember 2006 Hallo, zur Erst: vielen Dank für deine Antwort Enrico. Jetzt versuche ich per GregorianCalendar ein Datum zu erstellen. Und hab folgendes Problem: Ich setze das Datum 18.12.2006. Dann möchte ich die einzelne Datum als Kontrolle noch mal ausgeben: gc2 = new GregorianCalendar(2006,12,18); int k = gc2.get(Calendar.YEAR); int l = gc2.get(Calendar.MONTH); int m = gc2.get(Calendar.DATE); dann kommt als Ergebnis: k = 2007 l = 0 m = 18. k und l stimmen nicht. Und weiss auch nicht, wie ich es richtig machen soll. Was muss ich machen, dass das richtig funktioniert? Vielen Dank im Voraus. Tschau Zitieren
kingofbrain Geschrieben 18. Dezember 2006 Geschrieben 18. Dezember 2006 Schau Dir mal die API-Dok zu GregorianCalendar und dem Konstruktor, den Du verwendest, an. Der Monat ist 0-based, 12 ist also ein falscher Wert und wird IMHO als Monat 0 des nächsten Jahres "optimiert". Peter Zitieren
Enfa Geschrieben 18. Dezember 2006 Autor Geschrieben 18. Dezember 2006 Hallo Brain, das habe ich inzwischen hinbekommen. Du hast recht: erst API checken, dannach ins Forum. Danke. Tschüss Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.