我想将用户输入的日期 31-12-2012 转换为 PostgreSQL 日期格式。我正在附加日期“日-月-年”(2012 年 31 月 12 日)
问问题
121 次
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 回答