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.Datejava.sql.Timestamp 类型应该分别用于设置日期和时间戳字段。阅读他们的文档,了解它们之间以及它们与java.util.Date 之间的差异。

您通常会从用户那里获得一个 java 日期 (java.util.Date)。您可以使用getTime() 将其转换为自纪元以来的毫秒数,然后再转换回java.sql.Datejava.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 日期转换

JAVA关于得到当前日期两年后的日期

JAVA里面如何将字符串日期插入到MYSQL数据库

如何使用 Java / Hibernate 在 SQL 中自动插入当前日期

java.sql 中的日期时间等价物? (有 java.sql.datetime 吗?)