Converter String para Data

4 respostas
R

Amigos…to usando um JFormattedTextField que armazena uma string assim: 2006/09/17 10:00, o nome desse JFormattedTextField é eData e preciso converter essa string para data para gravar num banco de dados Access onde o campo DATA1 da tabela tbl_Amostragem é Data/Time.

Alguem poderia me dar uma ideia de sintexe?

Rodrigo
[email removido]
Deus abençoe seu trabalho…

4 Respostas

drix

Aqui vc irá encontrar sua resposta:
http://www.guj.com.br/java.tutorial.artigo.8.1.guj

:wink:

ramilani12

Vc poderia usar assim:

String strData = jTextField.getText();
String arrayData[] = strData.split("/"); // aqui vc quebra a string com delimitador barra
// Classe Calendar para manipular Datas
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY , arrayData[0]);// seta o dia
cal.set(Calendar.MONTH , arrayData[1]);// seta o mes
cal.set(Calendar.YEAR , arrayData[2])// seta o ano

Para gravar

PreparedStatement pstmt = dbCon.prepareStatement("UPDATE  flux_veiculos_00863858 SET flux_data_saida = ? ")
pstmt.clearParameters();
					pstmt.setTimestamp(1,new Timestamp(cal.getTimeInMillis()));

Existe a classe Date mas seus metodos estao depreciados a Calendar vc terá maiores recursos

R

encontrei um problema no seu código…:

cal.set(Calendar.DAY , arrayData[0]);// seta o dia

quando chamo Calendar, nao tem a propriendade DAY e sim DAY_OF_MONTH…blz…mas o problema que o tipo de dados de DAY_OF_MONTH, MONTH e YEAR é int…entao ta dando pal, pois ta usando uma array…

Rodrigo

ramilani12:
Vc poderia usar assim:

String strData = jTextField.getText();
String arrayData[] = strData.split("/"); // aqui vc quebra a string com delimitador barra
// Classe Calendar para manipular Datas
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY , arrayData[0]);// seta o dia
cal.set(Calendar.MONTH , arrayData[1]);// seta o mes
cal.set(Calendar.YEAR , arrayData[2])// seta o ano

Para gravar

PreparedStatement pstmt = dbCon.prepareStatement("UPDATE  flux_veiculos_00863858 SET flux_data_saida = ? ")
pstmt.clearParameters();
					pstmt.setTimestamp(1,new Timestamp(cal.getTimeInMillis()));

Existe a classe Date mas seus metodos estao depreciados a Calendar vc terá maiores recursos

ramilani12

ah tá certo fazendo de cabeça nao tem auto-completar do Eclipse ehehhehehe
espero que tenha te ajudado
Ah esqueci de fazer o Casting para Int

String strData = jTextField.getText();
String arrayData[] = strData.split("/"); // aqui vc quebra a string com delimitador barra
// Classe Calendar para manipular Datas
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY , Integer.parseInt(arrayData[0]));// seta o dia
cal.set(Calendar.MONTH , Integer.parseInt(arrayData[1]));// seta o mes
cal.set(Calendar.YEAR , Integer.parseInt(arrayData[2]))// seta o ano

rodrigoccnv:
encontrei um problema no seu código…:

cal.set(Calendar.DAY , arrayData[0]);// seta o dia

quando chamo Calendar, nao tem a propriendade DAY e sim DAY_OF_MONTH…blz…mas o problema que o tipo de dados de DAY_OF_MONTH, MONTH e YEAR é int…entao ta dando pal, pois ta usando uma array…

Rodrigo

ramilani12:
Vc poderia usar assim:

Para gravar

PreparedStatement pstmt = dbCon.prepareStatement("UPDATE  flux_veiculos_00863858 SET flux_data_saida = ? ")
pstmt.clearParameters();
					pstmt.setTimestamp(1,new Timestamp(cal.getTimeInMillis()));

Existe a classe Date mas seus metodos estao depreciados a Calendar vc terá maiores recursos

:smiley: :smiley: :smiley: :-o

Criado 17 de setembro de 2006
Ultima resposta 18 de set. de 2006
Respostas 4
Participantes 3