将Java时间戳转换为MySQL时间戳,反之亦然

时间:2011-12-12 14:49:03

标签: java date time timestamp

如何将Java时间戳(时间戳数据类型)转换为MySQL时间戳,反之亦然?

3 个答案:

答案 0 :(得分:5)

如果您正在使用JDBC API访问数据库,并且您使用PreparedStatement来执行SQL INSERT语句,那么您只需将时间戳设置为{{1 }}:

PreparedStatement

同样,当您执行返回时间戳的查询时,请通过调用Timestamp ts = ...; // wherever you get this from PreparedStatement ps = connection.prepareStatement("INSERT INTO MYTABLE (ts) VALUES (?)"); ps.setTimestamp(1, ts); ps.executeUpdate(); ResultSet获取该时间戳。例如:

getTimestamp

请参阅JDBC Tutorial

答案 1 :(得分:3)

如果没有更详细的解决方案,这将是一个难以回答的问题。但是,如果您使用预准备语句,Java会使这相对简单。您的代码看起来像这样:

Connection conn = getConnection();
PreparedStatement pStmt = conn.prepareStatement("UPDATE my_table SET my_column = ? WHERE id = ?");
pStmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
pStmt.setInt(2, 42);
pStmt.executeUpdate();

答案 2 :(得分:1)

就我从MySQL文档中看到的那样,java.sql.Timestamp应该只有read来自或write到数据库中的TIMESTAMP字段才能正常工作。所以你不需要做任何转换。