Zeichenfolge - java.util.Date - java.sql.Date (mit Zeitstempel)

8

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.

    
akwarywo 21.12.2012, 00:58
quelle

3 Antworten

29

java.sql.Date hat keine Zeit.

Verwenden Sie stattdessen java.sql.Timestamp .

    
Felipe Fonseca 21.12.2012, 01:06
quelle
2

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:

%Vor%     
Chandra Prakash 11.06.2014 19:09
quelle
1

Ich habe die Verwendung der Standard-Date-Klassen von Java aus genau den Gründen, die Sie aufgelistet haben, vollständig aufgegeben.

Ich habe Joda Time schon eine Weile benutzt und es viel einfacher gefunden.

    
jwismar 21.12.2012 01:05
quelle