2009-04-08 2 views
0

Ich mache rs.getTimestamp ("Datetime")Java und MySQL Datum Problem

in Java.

In der Datenbank, das Datumzeit 2009/03/06 02:47:18

ist aber die Zeit zurückgegeben wird, als 14:47:18

ich MySQL Daten sind nicht sehr gut informiert bin, daher würde ich jede Erklärung dafür, warum dies geschieht, zu schätzen wissen.

+0

Sind Sie sicher, dass die Zeit, in der DB nicht 14.47.18 ist? Denn das wäre genau 14:47:18 –

+0

Es ist. Was nur kompliziert mit der Zeit zum Abrufen von Datensätzen – kilhra

Antwort

2

Es spielt keine Rolle. Es geht nicht um MySQL oder irgendeine Datenbank. Dies ist das Format Timestamp, das standardmäßig angezeigt wird, glaube ich. Es bedeutet nicht, dass es das Datum oder etwas verpasst hat.

Sie können den von der Methode zurückgegebenen Zeitstempel immer in einem beliebigen Format in Ihrem Code formatieren. Check out java.text.SimpleDateFormat Klasse. Oder besser, schauen Sie sich viel ausgeklügelter Joda Time.

+0

Ich formatiere es mit einem SimpleDateFormatter, mit HHmmss als mein Format. – kilhra

+0

Versuchen Sie kleines 'h'. Etwas wie "hhmmss a" –

+0

Für genau wie MySQL, versuchen Sie "JJJJ/MM/TT hh: mm: ss" –

1

Zwei Dinge. Zuerst denke ich, wir brauchen Beispielcode. Was los ist, ist aus dem, was du uns gegeben hast, gar nicht klar. Kontext, Verwendung, DB-Schema und Beispielzeilen.

Zweitens, ResultSet.getTimestamp() sollte ein Objekt vom Typ Timestamp zurückgegeben werden, anstatt ein String jeglicher Art.

0

SimpleDateFormat time = neu SimpleDateFormat ("HHmmss");

datime = time.format (rs.getTimestamp ("Datumzeit"))

und dann wird datime in eine Datei gedruckt.

der Datetime-Spalte in der Tabelle ist ein Typ Datetime-Daten

+0

Für genau wie MySQL, versuchen Sie "JJJJ/MM/TT hh: mm: ss" –