Java 日期至 sql 日期

Java date to sql date

如何将 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);

使用

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

使用这个它可以帮助

  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;
 }