在java中转换为数据库日期

时间:2012-10-24 07:47:39

标签: java

我想将用户输入日期31-12-2012转换为PostgreSQL日期格式。我附加日期'日 - 月 - 年'(2012年12月31日)

2 个答案:

答案 0 :(得分:2)

忽略它的数据库部分 - 你不应该以字符串的形式将它提供给数据库。

相反,使用具有正确模式的java.text.SimpleDateFormat(“dd-MM-yyyy”)将其解析为Date(确保使用正确的时区,这在以后很重要) 。然后要在SQL语句中使用它,请使用PreparedStatement并调用setDate。您需要从[{1}}创建java.sql.Date java.util.Date来创建{{3}}。

时区部分略显凌乱 - SimpleDateFormat.parse 的文档建议 JVM的默认时区用于将“自纪元以来的毫秒”值解释为日期。这表明你应该在解析时使用默认时区 - 但它远非优雅:(

答案 1 :(得分:1)

这很简单。我想你甚至不尝试google。无论如何,这是一个示例代码。

String User_date = "31-12-2012";
java.sql.Date sqlDate = java.sql.Date.valueOf(User_date);

这将解决您的问题。