Como posso armazenar uma data específica de java para meu banco de dados? (Não apenas a data de hoje, mas também algumas datas que o usuário deseja especificar)
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);
Respostas:
1 para resposta № 1Usar
prs.setDate( 1, new java.sql.Date( date.getTime() ) );
Os tipos java.sql.Date
e java.sql.Timestamp
são fornecidos para serem usados para definir campos de data e registro de data e hora, respectivamente. Leia sua documentação para as diferenças entre eles e entre eles e java.util.Date
.
Você geralmente recebe uma data java (java.util.Date
) do usuário. Você converte em milissegundos desde a época usando getTime()
, e depois converter de volta para um java.sql.Date
ou java.sql.Timestamp
como eu mostrei.
0 para resposta № 2
use isso, pode ajudar
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;
}