Ajuda a obter uma data que vem de uma base de dados mysql

3 respostas
T

Boas… eu iniciai-me agora no java e estou com uns problemas… falaram-me deste forum e resolvi recorrer a quem realmente percebe disto…

o meu problema á o seguinte: eu tenho uma base de dados em que numa coluna tenho valores de data e hora ou seja datatime.

quando ligo á base de dados e faço um select atraves do java (rs.getString(Colunax))

depois precisava de colocar o que sai de rs e criar um calendario , ou seja calen.set(algo);
mas nao estou a conseguir pois precisava deste calendario para comparar com outro de referencia.

se me poderem ajudar agradecia imenso
Cumprimentos a todos…

3 Respostas

T

eu já estou a fazer o rs.getDate, mas depois apenas me retira a data yyyy-mm-dd, no entanto, eu preciso de yyyy-mm-dd hh:mm:ss
e quero que depois o meu calendario fique com esta data completa… sendo o passo seguinte fazer uma incremento de 15 minutos (mm+15);

será que é possivel fazer esta operação?

Vini_Fernandes

Cato T, temos uma classe para a formatacao de data java.text.SimpleDateFormat. Sugiro que faça:

try{
 Date data = rs.getDate(suaColuna);
 SimpleDateFormat formatador = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss ");
 //aqui voce tera uma string representando a data no formato desejado
 String dataString =formatador.format(data) ;

 //a linha abaixo é caso vc queira uma java.util.Date no formato desejado
 Date dataFormatada = formatador.parse(dataString);
}
catch(ParseException pe){
 //faça o que quiser
}

Espero que ajude

mvargens

T:
eu já estou a fazer o rs.getDate, mas depois apenas me retira a data yyyy-mm-dd, no entanto, eu preciso de yyyy-mm-dd hh:mm:ss
e quero que depois o meu calendario fique com esta data completa… sendo o passo seguinte fazer uma incremento de 15 minutos (mm+15);

será que é possivel fazer esta operação?

É possivel sim e bem facil. Você disse que ja está recuperando a data do banco de dados como java.util.Date então vou considerar que você ja possui um Date ok?

public static void main(String[] args) {
		//sua data do banco de dados.
		Date d = new Date();
		//Criando um Calendario
		Calendar t = Calendar.getInstance();
		//Agora seu Calendar tem a mesma data que recuperou do banco de dados.
		t.setTime(d); 
		//Adicionando 15 minutos na hora. Para subtrair basta colocar o sinal de menos (-15)
		t.add(Calendar.MINUTE, 15);

		//Para imprimir a data no formato dd/mm/yyyy hh:mm:ss
		System.out.println( new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(t.getTime()) ) ;
	}
Criado 3 de março de 2009
Ultima resposta 3 de mar. de 2009
Respostas 3
Participantes 3