Veröffentlicht 17. Dezember 200618 j 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
18. Dezember 200618 j 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?
18. Dezember 200618 j 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
18. Dezember 200618 j 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
18. Dezember 200618 j Hallo Brain, das habe ich inzwischen hinbekommen. Du hast recht: erst API checken, dannach ins Forum. Danke. Tschüss
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.