Datetime in java
Ich habe eine JDBC-aktuelle Datum und Uhrzeit einfügen in die Mysql-Datenbank.
Er unterbreitet dem aktuellen Datum und einer festgelegten Zeit in die Mysql-Datum-Typ-Feld wie 2012/05/25 00:00:00
. Der date-Teil funktioniert sehr gut, aber die Zeit nicht zeigt jeden Wert.
Ich bin das einfügen der Wert mit dem folgenden code:
java.util.Date myDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
PreparedStatement PStmt = con.prepareStatement(Sql query);
PStmt.setDate(1,sqlDate);
- Können Sie fügen Sie den code, fügt das Datum? Welche Art von Spalte hast du in der Datenbank?
- java.util.Date myDate = new java.util.Date();<br/> java.sql.Date sqlDate = new java.sql.Datum(myDate.getTime());<br/> PreparedStatement PStmt = con.prepareStatement(Sql query);<br/> PStmt.setDate(1,sqlDate);
- Was ist der Typ der Spalte in MySQL?
- Nicht verwenden java.sql.Datum. Legen Sie die java.util.Datum.
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) Verwenden Sie
java.util.Date
in Ihre java-Klasse.2) datatye
TIMESTAMP
in mysql.Für PreparedStatement: Es kann so sein:
Verwenden
java.sql.Timestamp
stattjava.util.Date
Zum Beispiel, wenn Sie mit
PreparedStatement
zu behandeln einfügen können, können Sie geben Ihre Datum;java.sql.Date
ist konkret nur ein Datum, und so verwirft die Zeit-Komponente.System.out.println(new java.sql.Timestamp(date.getTime()));
wenn dieser gibt Sie den richtigen Wert hat, dann übernehmen das Problem ist der Datentyp, der findet auf dem Datenbank-Tabelle zu haltendatetime
..getTime()
werden es innew java.sql.Timestamp(date.getTime()).getTime()
?PreparedStatement
nicht eine MethodesetTimestamp(int, long)
, aber es hatsetTimestamp(int, Timestamp)
, so sollte es nicht seinpst.setTimestamp(columIndex, new java.sql.Timestamp(date.getTime()))
?pst.setTimestamp(columIndex, new java.sql.Timestamp(date.getTime()))
Ist die richtige Zuordnung. Ich korrigierte die Tippfehler. Ta!Ich denke, Sie müssen timestamp als Spaltentyp in mysql.
Schlage ich vor, beachten Sie den Unterschied zwischen
java.util.Date
undjava.sql.Date
java.util.Datum vs java.sql.Datum
BEARBEITEN auch sicherstellen, dass Sie die richtigen Daten-Typ in der Datenbank (DATE, DATETIME oder TIMESTAMP)
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
Zwar ein Alter post, die Antwort ist einfach und hängt von Ihrer Anforderung - wie pro Ihre Anforderungen mit DATETIME-Datentyp und verwenden Sie die folgenden
Sehen wir die Argumentation aus der Datenbank und jdbc Seite.
Start aus dem Datentyp in der Datenbank und wählen entsprechenden. Die eine, die genau passt zu Ihrem Fall ist DATETIME, wie Sie wollen Datum und Stunde/min/Sek. DATETIME-Typ wird verwendet für die Speicherung Wanduhr time TIMESTAMP in der Erwägung, dass für einen festen Punkt in der Zeit (einige Millisekunden nach der Epoche). Es ist auch Unterschied, wie beide sind, werden intern gespeichert in MySQL.
Nun, Wenn Sie kommen, um die JDBC-Seite von API-Methoden für Datum ( nur Datum Teil), Timestamp (Datum und Zeit) und Zeit (nur Zeit). Das ist alles, was der JDBC zu bieten hat. So kann nun die API, welche Anzüge Ihr Bedarf setTimestamp