私はmysqldbを持っており、タイムスタンプを含む多くの列を持つ1つのテーブルを持っています。テーブルを読み取り、csvファイルに書き込みたい。次に、csvファイルからデータを読み取り、別のデータベースとテーブルに挿入します。これらはすべてJavaを介して行われます。最初のデータベースからテーブルの日付とタイムスタンプを読み取ることができますが、タイムスタンプがcsvファイルに正しく書き込まれていません。最後の数桁のみが書き込まれます。たとえば、タイムスタンプが2012-11-01 02:18:00.0の場合、18:00.0のみがcsvに書き込まれます。他のすべてのものは正常に動作します。たとえば、タイムスタンプをハードに書き込む場合は、2番目のデータベースに書き込むことができます。mysqlを読み取り、csvに書き込むためのコードがあります:
con = DriverManager.getConnection("jdbc:mysql://localhost/campdb", "...", "...");
stmt = (Statement) con.createStatement();
fw = new FileWriter(filename);
PrintWriter a = new PrintWriter(fw);
ResultSet res = stmt.executeQuery("SELECT * FROM CAMPREQ;");
while (res.next())
{
String ID = res.getString(1);
java.sql.Date date = res.getDate(2);
//java.util.Date jdate = new java.util.Date(date.getTime());
String company = res.getString(3);
String time = res.getString(4);
String origin = res.getString(5);
String dest = res.getString(6);
String timestamp = res.getString(7);
System.out.println(timestamp);
a.print(ID);
a.print(',');
a.print(date);
a.print(',');
a.print(company);
a.print(',');
a.print(time);
a.print(',');
a.print(origin);
a.print(',');
a.print(dest);
a.print(',');
a.print(timestamp);
a.print('\n');
a.flush();
}
System.outコマンドは、書き込まれるはずのタイムスタンプを出力しますが、csvに正しく書き込まれていません:(ありがとうございます