Cosh
02-01-2007, 12:56
Hallo!
Ich bin am verzweifeln!
Mein Problem: Ich möchte einen Timestamp in eine Datenbank (mysql) schreiben.
Wie:
PreparedStatement ps = c.prepareStatement("INSERT INTO test SET date1 = ?, date2 = ?");
ps.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
ps.setTimestamp(2, new Timestamp(System.currentTimeMillis()));
ps.execute();
ResultSet rs = c.createStatement().executeQuery("SELECT * from test LIMIT 1");
rs.next();
System.out.println(rs.getTimestamp(1));
System.out.println(rs.getTimestamp(2));
> 2007-01-02 12:42:59.0
> 2007-01-02 12:42:59.0
Resultat: es ist auf meiner Uhr 13:42. Doch schreiben tut er 12:42 in die Datenbank und genau mit 12:42 kommt es wieder heraus.
ähmm.. hä? Also entweder macht er es konsequent und schreibt es als GMT Zeit in die DB (also 12:42 von mir aus) und konvertiert die Zeit dann wieder von GMT in die lokale Uhrzeit des Rechners zurück, oder er lässt die Konvertierung gleich ganz (was mit am liebsten wäre).
Das Problem dabei ist: Unter Windows konvertiert er nicht, unter Linux konvertiert er. Das nächste Problem ist: Unter Linux entwickel ich, unter Windows soll die Software eingesetzt werden. Das bedeutet: Das muss auf beiden Systemen funktionieren. Aber wie?
Son Kleckerkram geht mir auf die Palme.. wieso muss das immer son Krampf sein zwischen Windows und Linux :(
Ich bin am verzweifeln!
Mein Problem: Ich möchte einen Timestamp in eine Datenbank (mysql) schreiben.
Wie:
PreparedStatement ps = c.prepareStatement("INSERT INTO test SET date1 = ?, date2 = ?");
ps.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
ps.setTimestamp(2, new Timestamp(System.currentTimeMillis()));
ps.execute();
ResultSet rs = c.createStatement().executeQuery("SELECT * from test LIMIT 1");
rs.next();
System.out.println(rs.getTimestamp(1));
System.out.println(rs.getTimestamp(2));
> 2007-01-02 12:42:59.0
> 2007-01-02 12:42:59.0
Resultat: es ist auf meiner Uhr 13:42. Doch schreiben tut er 12:42 in die Datenbank und genau mit 12:42 kommt es wieder heraus.
ähmm.. hä? Also entweder macht er es konsequent und schreibt es als GMT Zeit in die DB (also 12:42 von mir aus) und konvertiert die Zeit dann wieder von GMT in die lokale Uhrzeit des Rechners zurück, oder er lässt die Konvertierung gleich ganz (was mit am liebsten wäre).
Das Problem dabei ist: Unter Windows konvertiert er nicht, unter Linux konvertiert er. Das nächste Problem ist: Unter Linux entwickel ich, unter Windows soll die Software eingesetzt werden. Das bedeutet: Das muss auf beiden Systemen funktionieren. Aber wie?
Son Kleckerkram geht mir auf die Palme.. wieso muss das immer son Krampf sein zwischen Windows und Linux :(