• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Java Date() Problem!

dakingno1

Cripps Pink
Registriert
31.10.07
Beiträge
149
Vielleicht gibt es hier ja jemand der mir mal eben helfen kann:

Folgender Java Programmcode soll mir das Datum - x Tage zurückgeben.
Das Ergebnis des Timestamp ist meiner Meinung nach korrekt, aber wenn ich es als Date casten will, gibt die Konsole ein falsches Datum aus.

Code:
        //Datum 
        Date seldate = null;
        if(sel_day != 0) {
            long now = new Date().getTime();
            long newday = (now/1000);
            long dbday = newday - (sel_day * 60 * 60 *24);
            seldate = new Date(dbday);
            
            System.out.println(seldate);
            System.out.print("DATUM");
        }

Das ist die Ausgabe, wenn sel_day == 3 ist:
DATUMThu Jan 15 05:21:35 CET 1970


Vielleicht hat jemand ne idee?

Vielen Dank im voraus.
 
Warum willst du das casten? Wenn du einen String brauchst, solltest du DateFormat nutzen.
 
ICh will den Wert an ein SQL Query übergeben, daher brauch ich nen Dateobjekt.
 
Mhh. Habe mir gerade noch mal dein Urspungsbeitrag durchgelesen. Wenn ich dich richtig verstehe, willst du bei einem Date um eine Anzahl von Tagen „zurückstellen“, richtig?

Da würde ich den Umweg über einen Calendar gehen und dort mittels roll-Methode die Tage zurückgehen.
 
korrekt, den Weg hatte ich auch schon.
Dort hatte ich bereits das korrekte Datum, aber das Calendar Objekt passte wiederum nicht zum Date Feld in der db.
Also fehlte mir dort wieder das korrekte Objekt.... :(
 
Dann mach doch aus dem Calendar einfach wieder ein Date ;) :

Code:
Date myDate = myCalendar.getTime();

Edit: Bei deinem Schnippsel oben hast du offensichtlich vergessen, wieder mit tausend zu multiplizieren. Die Variante mit dem Kalender finde ich aber trotzdem eleganter.
 
Zuletzt bearbeitet: