• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

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.
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
Warum willst du das casten? Wenn du einen String brauchst, solltest du DateFormat nutzen.
 

dakingno1

Cripps Pink
Registriert
31.10.07
Beiträge
149
ICh will den Wert an ein SQL Query übergeben, daher brauch ich nen Dateobjekt.
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
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.
 

dakingno1

Cripps Pink
Registriert
31.10.07
Beiträge
149
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.... :(
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
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: