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);
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.
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;
}
来源:https://stackoverflow.com/questions/28292468/java-date-to-sql-date