-1

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

4

2 回答 2

2

忽略它的数据库部分 - 无论如何你都不应该将它作为字符串提供给数据库。

相反,使用java.text.SimpleDateFormat正确的模式(“dd-MM-yyyy”)将其解析为 a Date(确保使用正确的时区,这在以后很重要)。然后要在 SQL 语句中使用它,请使用 aPreparedStatement并调用setDate。你需要创建一个你java.sql.Date从中java.util.Date摆脱出来的东西SimpleDateFormat.parse

时区部分有点混乱 - 文档java.sql.Date 表明JVM 的默认时区用于将“自纪元以来的毫秒”值解释为日期。这建议您在解析时也应该使用默认时区 - 但它远非优雅:(

于 2012-10-24T07:49:57.733 回答
1

这很简单。我认为你甚至尝试谷歌。无论如何,这是一个示例代码。

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

这将解决您的问题。

于 2012-10-24T07:58:28.013 回答