[RESOLVIDO] Problema com Datas

Buenas,

Pessoal, to fazendo um método que retorna um Calendar e recebe por parâmetro uma Data, que é uma String (Ex.: “05/01/2010 10:37:31”).
Porém, preciso transformar esta data em um Calendar, para poder persistir no banco esta data.

O método que fiz:

    public static Calendar getDataHoraCalendar(String data_hora) {
        Calendar c = Calendar.getInstance();
        try {

            String[] spdata = data_hora.split("/");
            String hora = data_hora.substring(11,data_hora.length());
            String[] sphora = hora.split(":");

            c.set(Calendar.DAY_OF_MONTH, Conversoes.stringParaInt(spdata[0]));
            c.set(Calendar.MONTH, Conversoes.stringParaInt(spdata[1]) - 1);
            c.set(Calendar.YEAR, Conversoes.stringParaInt(spdata[2]));

            c.set(Calendar.HOUR, Conversoes.stringParaInt(sphora[0]));
            c.set(Calendar.MINUTE, Conversoes.stringParaInt(sphora[1]));
            c.set(Calendar.SECOND, Conversoes.stringParaInt(sphora[2]));

            return c;

        } catch (Exception ex) {
            return null;
        }
    }

Está caindo no Catch, e retornando null. Por acaso o ‘c’ não pode ter uma hora setada?
Se alguém puder me ajudar a resolver este problema…

Abraços!

  1. Não use Calendar para persistir em banco de dados. Use Date.

  2. Aprenda a usar SimpleDateFormat para transformar Date de e para String

amigo ao inves de ter uma classe que converte string para integer, creio que seria mais facil usar o metodo da propria classe Integer:

Integer.valueOf(“5”);

abrasssssss

Consegui resolver o problema usando simpleDateFormat.

Ah, amigo renanreismartins, é que já tinha sido implementado este método por outro colega, dai resolvi aproveitar, mas sem dúvida podia ter usado o método da classe Integer.

Abaixo, a solução que usei.

    public static Calendar getDataHoraCalendar(String data_hora) {
        GregorianCalendar gc = new GregorianCalendar();
        try {
            gc.setTime(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(data_hora));
        }catch (ParseException ex) {
            return null;
        }
        return gc;
    }