Java日期到sql日期
Posted
技术标签:
【中文标题】Java日期到sql日期【英文标题】:Java date to sql date 【发布时间】:2015-02-03 06:10:43 【问题描述】:如何将特定日期从 java 存储到我的数据库? (不仅是今天的日期,还有一些用户想要指定的日期)
try
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
Date date = dateFormat.parse(tf.getText());
String d = dateFormat.format(date);
String str = "insert into tableName(tDate) values (?)";
con = mysqlConnection.dbConnector();
prs = con.prepareStatement(str);
prs.setDate(1, // dont know what to put here);
int rsUpdate = prs.executeUpdate();
con.close();
prs.close();
catch(ParseException exx)
System.err.println(exx);
【问题讨论】:
使用第二个表,通过外键键控到第一个表 看看这个SO Post @MadProgrammer 将“日期”作为字符串先保存在另一张桌子上? 将日期另存为java.sql.Date
...(我还假设您的意思是要存储一个可变的日期列表)
Java Date - Insert into database的可能重复
【参考方案1】:
使用
prs.setDate( 1, new java.sql.Date( date.getTime() ) );
java.sql.Date
和 java.sql.Timestamp
类型应该分别用于设置日期和时间戳字段。阅读他们的文档,了解它们之间以及它们与java.util.Date
之间的差异。
您通常会从用户那里获得一个 java 日期 (java.util.Date
)。您可以使用getTime()
将其转换为自纪元以来的毫秒数,然后再转换回java.sql.Date
或java.sql.Timestamp
,如我所示。
【讨论】:
它插入了一大堆 000 @meantro 然后你应该输入你原来的问题:(a)表格的定义,和(b)在你做setDate()
之前System.out.println(date)
的结果,这样我们就知道了它包含有效数据。【参考方案2】:
使用它会有帮助
static java.sql.Timestamp getSqlDate(Date date)
java.util.Date javaDate = date;
long javaTime = javaDate.getTime();
java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(javaTime);
return sqlTimestamp;
【讨论】:
以上是关于Java日期到sql日期的主要内容,如果未能解决你的问题,请参考以下文章
将 java.sql.Timestamp 保存到 mysql 日期时间列会更改时间
ORA-01843: 无效的月份 -java 到 sql 日期转换