Gravar Data MYSQL

4 respostas
marciofermino

Amigos eis o meu método

public Date grava_data(String data) {
        SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
        Date data_mysql = null;
        try {
            data_mysql = (Date) formatador.parse(data);

        } catch (ParseException ex) {
            Logger.getLogger(Data.class.getName()).log(Level.SEVERE, null, ex);
        }

        return data_mysql;

    }
Transforma_Data td = new Transforma_Data();
JOptionPane.showMessageDialog(null, td.grava_data("25/12/2008"));

Estou passando “25/12/2008” e quero que ele me retorno “2008/12/25” para que eu possa gravar no MYSQL mais ele não esta me retornando nada

4 Respostas

filipefox

Opa, não sei se vc já resolvou isso, mas tá ai uma forma que fiz, pode ter forma melhor, mas essa ai faz o que quer! Abs!!!

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

class teste {
	public static void main(String[] args) {
		String data = "25/12/2008";
		Date date = new Date();
		
		SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");	
		
        try {
        	date = format.parse(data);
        	Calendar calendar = Calendar.getInstance();
    		calendar.setTime(date);
    		
    		int dia = calendar.get(Calendar.DATE);
    		int mes = calendar.get(Calendar.MONTH) + 1;   
    		int ano = calendar.get(Calendar.YEAR);    				
    		
    		System.out.print(ano+"/"+mes+"/"+dia);          
        } catch (ParseException e) {
        	e.printStackTrace();
        }        
	}
}
jrbilll
filipefox:
Opa, não sei se vc já resolvou isso, mas tá ai uma forma que fiz, pode ter forma melhor, mas essa ai faz o que quer! Abs!!!
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

class teste {
	public static void main(String[] args) {
		String data = "25/12/2008";
		Date date = new Date();
		
		SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");	
		
        try {
        	date = format.parse(data);
        	Calendar calendar = Calendar.getInstance();
    		calendar.setTime(date);
    		
    		int dia = calendar.get(Calendar.DATE);
    		int mes = calendar.get(Calendar.MONTH) + 1;   
    		int ano = calendar.get(Calendar.YEAR);    				
    		
    		System.out.print(ano+"/"+mes+"/"+dia);          
        } catch (ParseException e) {
        	e.printStackTrace();
        }        
	}
}

E pra pegar do banco?

wolmirGarbin

Opa tudo certo…
Quando vc gerar uma data apartir de uma String a String deve ser no mesmo formato que vc cria o SimpleDateFormat veja o exemplo:

public static void main(String args[]){
        //Deve passar o parametro neste formato
        formataData("2008-12-20");

        //assim dara erro
        formataData("2008/12/20");
    }

    public static Date formataData(String data) {

        String formato = "yyyy-MM-dd";

        System.out.println("A data "+ data +" deve ser igual ao formato "+ formato +" para não dar erro!");
        Date date = null;
        SimpleDateFormat formatOut = new SimpleDateFormat(formato);
        try {
                date = formatOut .parse(data);
        } catch (ParseException e) {
                System.out.println("A data "+ data +" deve estar no correto Metodo formataData(String)");
                e.printStackTrace();
        }
        return date;
    }

Espero ter ajudado…
Valeu

jrbilll

Esqueci de avisar q eu ja havia conseguido… obrigado.

Criado 27 de agosto de 2008
Ultima resposta 7 de abr. de 2011
Respostas 4
Participantes 4