Java date to sql date

2019-01-20 18:57发布

How can I store a specific date from java to my database? (Not only the date today, but also some dates that the user wants to specifiy)

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

2条回答
你好瞎i
2楼-- · 2019-01-20 19:15

use this it can help

  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;
 }
查看更多
等我变得足够好
3楼-- · 2019-01-20 19:28

Use

prs.setDate( 1, new java.sql.Date( date.getTime() ) );

The types java.sql.Date and java.sql.Timestamp are suppoed to be used to set date and timestamp fields, respectively. Read their documentation for the differences between them and between them and java.util.Date.

You usually get a java date (java.util.Date) from the user. You convert it to milliseconds since the epoch using getTime(), and then convert back to a java.sql.Date or java.sql.Timestamp as I have shown.

查看更多
登录 后发表回答