java.util.date para java.sql.date em Java
-
Converta
java.util.Date
parajava.sql.Date
usandogetTime()
-
Converta
java.util.Date
parajava.sql.Date
usandoSimpleDateFormat
evalueOf()
Neste artigo, discutiremos como podemos converter java.util.Date
em java.sql.Date
usando dois métodos - getTime()
e valueOf()
.
O java.util.Date
informa o momento atual com os milissegundos exatos desde 1 de janeiro de 1970 00:00:00 GMT. java.sql.Date
informa apenas a data no formato de SQL que o JDBC pode entender. A data SQL contém apenas anos, meses e dias, não há hora e fuso horário presente.
Converta java.util.Date
para java.sql.Date
usando getTime()
No primeiro exemplo, usamos o método getTime()
da classe java.util.Date
. O método getTime()
, quando chamado, retorna o número de milissegundos que se passaram desde 1º de janeiro de 1970 00:00:00 GMT. Primeiro criamos um objeto de java.util.Date
e chamamos o método getTime()
que retorna os milissegundos como um tipo long
.
A seguir, criamos um objeto de java.sql.Date
que aceita milissegundos como um argumento no construtor. Passamos timeInMilliSeconds
e obtemos date1
do tipo java.sql.Date
.
import java.util.Date;
public class UtilDateToSqlDate {
public static void main(String[] args) {
Date date = new Date();
long timeInMilliSeconds = date.getTime();
java.sql.Date date1 = new java.sql.Date(timeInMilliSeconds);
System.out.println("SQL Date: " + date1);
}
}
Resultado:
SQL Date: 2021-01-22
Converta java.util.Date
para java.sql.Date
usando SimpleDateFormat
e valueOf()
Outro método para converter java.util.Date
em java.sql.Date
é valueOf()
. É um método estático presente na classe java.sql.Date
. valueOf()
recebe um argumento do tipo string. É por isso que convertemos java.util.Date
em string.
Como java.util.Date
retorna a data com a hora, formatamos a data aceita por java.sql.Date
que é yyyy-MM-dd
. Para formatar a data, criamos um objeto de SimpleDateFormat
e passamos o formato em seu construtor. Chamamos simpleDateFormat.format(date)
e passamos a data como um argumento para formatar a data.
Finalmente, obtemos a data como uma string que podemos passar para valueOf()
como um argumento e obtemos o resultado como java.sql.Date
.
import java.text.SimpleDateFormat;
import java.util.Date;
public class UtilDateToSqlDate {
public static void main(String[] args) throws IllegalArgumentException {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = simpleDateFormat.format(date);
java.sql.Date date1 = java.sql.Date.valueOf(formattedDate);
System.out.println("SQL Date: " + date1);
}
}
Resultado:
SQL Date: 2021-01-22
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn