Converter nro em data

7 respostas
jonasjgs2

eu tenho um banco de um cliente
onde as datas sao long no format 20130401 ou seja yyyyMMdd
como fata para converter para um date

7 Respostas

Hebert_Coelho

Tem vários modos.
Qual que você pesquisou no google, tentou fazer e não conseguiu?

Qual seu código atual?

jonasjgs2

cara estou procurando e ainda nao achei nada que resolvesse…
eu vi alguma coisa como usar o construtor date(long)
mas nao deu certo

Hebert_Coelho

jonasjgs2:
cara estou procurando e ainda nao achei nada que resolvesse…
eu vi alguma coisa como usar o construtor date(long)
mas nao deu certo
procure então por:
parse string to date

marciosouzajunior

De Long pra Date:

public class DataConverter {

    static SimpleDateFormat f = new SimpleDateFormat("ddMMyyyy");

    public static void main(String[] args) {

        DataConverter dc = new DataConverter();       
        Date data = dc.converteDataLong(20130401L);
        System.out.println(f.format(data.getTime()));

    }

    public Date converteDataLong(Long d) {

        String data = d.toString();
        Calendar c = Calendar.getInstance();
        try {
            c.setTime(f.parse(data.substring(6, 8) + data.substring(4, 6) + data.substring(0, 4)));
        } catch (ParseException ex) {
        }
        return c.getTime();

    }
}
jonasjgs2

marciosouzajunior, obriagdo
porem esta data no campo pode vir com o valor 0

sergiotaborda
marciosouzajunior:
De Long pra Date:
public class DataConverter {

    static SimpleDateFormat f = new SimpleDateFormat("ddMMyyyy");

    public static void main(String[] args) {

        DataConverter dc = new DataConverter();       
        Date data = dc.converteDataLong(20130401L);
        System.out.println(f.format(data.getTime()));

    }

    public Date converteDataLong(Long d) {

        String data = d.toString();
        Calendar c = Calendar.getInstance();
        try {
            c.setTime(f.parse(data.substring(6, 8) + data.substring(4, 6) + data.substring(0, 4)));
        } catch (ParseException ex) {
        }
        return c.getTime();

    }
}

Vc tá de brincadeira né ? Porque não define o parser assim :

static SimpleDateFormat f = new SimpleDateFormat("yyyMMdd");

Em vez de ficar fazendo esses substrings malucos ... ? :P

sergiotaborda

jonasjgs2:
marciosouzajunior, obriagdo
porem esta data no campo pode vir com o valor 0

Se 0 signfiica “sem data” então vc está em maus lencois porque 0 é um valor válido ( 1 de jan de 1970)
Se vc não está nem ai para isso ponha um if, se o valor é zero retorne null, ou algo assim.

Criado 11 de janeiro de 2013
Ultima resposta 11 de jan. de 2013
Respostas 7
Participantes 4