De String para date e de date para String

de String para date (“yyyy/MM/dd”) e de date para String (“dd/MM/yyyy”)

estou com problemas…

meus metodos:

public static String dataParaString(Date data){
        DateFormat sdf = DateFormat.getDateInstance(DateFormat.MEDIUM, new Locale("pt", "BR"));
        String dataS = sdf.format(data);
        return dataS;
    }

 public static Date stringForDate(String  d){
        DateFormat df1 = DateFormat.getDateInstance(DateFormat.MEDIUM, new Locale("en", "US"));
        Date date = null;
        try{
            date = df1.parse(d);
        }catch (Exception e){
            System.out.println("nao deu certo");
        }
        return date;
    }

de data para String funciona perfeitamente

eu quero jogar no banco a data (“dd/MM/yyyy”) para (“yyyy-MM-dd”)

Exemplo:
eu digito: 31/10/2007
seto a data no banco (é pra ficar assim (“yyyy-MM-dd”)

o metodo responde…
nao da certo…
nao da certo…

hehe

vlw pessoal

[code]SimpleDateFormat formatador = new SimpleDateFormat(“yyyy/MM/dd”);

Date data = formatador.parse(“2007/10/31”);[/code]

Mas você não precisa se preocupar com isso, o driver do banco já faz isso, basta usar o metodo setDate() de um PreparedStatement .

Kra uma alternativa seria fazer isso pelo proprio SGBD, isto é, se ele suportar. Por exemplo, o Oracle, possui um recurso bastante interessante. O formato padrão do oracle para data é mês, dia e ano (MMDDYYYY), diferente do formato brasileiro que é dia, mês e ano, daí a necessidade de formatarmos a data para o padrão brasileiro. A formatação da data no Oracle e feita através do comando ALTER SESSION, que além dela serve também para alterar outras características da sessão corrente, sendo a expressão ALTER SESSION sempre usada para formatar datas de acordo com o formato regional.
A sintaxe do comando está descrita abaixo:

ALTER SESSION SET NLS_DATE_FORMAT = <date_format>

Depois disso é só usar a funcao do Oracle toDate e pronto nao importa o formato da data ele sempre vai configurar no formato que vc indicou.

Falow! :grin: