Hier ist mein Problem: Ich habe eine Benutzereingabe ein Datum wie: 2012-12-24 (string) Ich verknüpfe eine Zeit mit dieser Zeichenfolge und wandle sie in java.util.Date um Mein Code sieht folgendermaßen aus:
%Vor%Mein Problem ist, wenn ich dieses util.Date nehme und es zu einem sql.Date machen möchte:
%Vor%Er gibt mir nicht den Zeitstempel, den ich zugewiesen habe, er gibt nur das Datum im Format JJJJ-MM-TT (wie 2012-12-23) zurück.
WARUM !? Ich bin so frustriert.
Hinweis: Ich habe festgestellt, dass ich bei der Verwendung von Breakpoints sqlendDate erweitern konnte und dort einen Wert namens cdate mit folgendem Wert gefunden hat: 2012-12-12T23: 59: 59.000-0500
Die Datenbank, die ich verwende, ist PostgreSQL.
Bitte helfen Sie! Sehr geschätzt.
java.sql.Date
hat keine Zeit.
Verwenden Sie stattdessen java.sql.Timestamp
.
Ich könnte sehr spät auf diese Frage antworten, aber ich denke, dass es hilfreich sein könnte.
Wie von "Felipe Fonseca" angegeben, habe ich das Nutzungsdatum wie folgt in SQL-Datum konvertiert:
%Vor% Normalerweise liefert java.sql.Date
nur Datum und Uhrzeit werden verworfen. Um also auch Zeit zu bekommen, muss java.sql.TimeStamp
verwendet werden.
TimeStamp Konstruiert ein Timestamp-Objekt mit einem Millisekunden-Zeitwert. Die ganzzahligen Sekunden werden im zugrunde liegenden Datumswert gespeichert. Die Sekundenbruchteile werden im Nanos-Feld des Timestamp-Objekts gespeichert.
Zu diesem Zweck wird utilDate.getTime()
verwendet, um die Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00:00 GMT, zurückzugeben, die durch dieses Date-Objekt dargestellt wird.
Wenn wir nur java.sql.Date
wollen, können wir tun:
Tags und Links sql java postgresql date java.util.date