Manipulação da data com o SimpleDateFormat [RESOLVIDO]

4 respostas
M

Boa noite…

Estou com o seguinte problema…
Estou mechendo com a carta de correção eletronica da nfe… ai eu preciso usar o simple data format para fazer um parse…
O meu código é esse abaixo

public static void main(String[] args) throws ParseException {
        Date d = new Date();
        String data = "2012-03-25T16:48:41-03:00";
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
        d = df.parse(data);
        System.out.println(d);
    }

só que eu não sei como que eu devo declarar a maskara no SimpleDateFormat para o -03:00
e o resultado do dessa execulção é o seguinte:

Sun Mar 25 16:48:41 BRT 2012

Me parece que não ta certo também

Caso alguém puder me ajudar eu agradeço…

4 Respostas

J

tenta assim

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss Z");

dei uma olhada rapida aqui:
http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
tem a tabela de mascaras e talz…

M

Valew Ajudou muito…

G

existem zilhões de tópicos sobre formatação de data, a galera nunca vai aprender a pesquisar primeiro e perguntar depois.
ao menos coloque o título do tópico como resolvido. [RESOLVIDO](dessa maneira)

M

gambazinho:
existem zilhões de tópicos sobre formatação de data, a galera nunca vai aprender a pesquisar primeiro e perguntar depois.
ao menos coloque o título do tópico como resolvido. [RESOLVIDO](dessa maneira)

só por informação gambazinho seu eu tivesse achado o que eu queria eu não teria abrido outro tópico

e outra o meu problema eu tive que resolver de outra maneira, porque pelo formato que a data vinha não consegui achar outro jeito de resolver a não ser remover os : pontos da data… conforme exemplo abaixo:

String data = "2012-06-26T08:09:00-03:00";
          String resultado = "";
          String[] result = data.split(":");
          for(int i = 0; i<result.length;i++){
              if(i != 0 && i!= result.length-1){
                   resultado+=":"+result[i];
              }else{
                   resultado+=result[i];
              }
          }
         //o resultado após o processamento é: 2012-06-26T08:09:00-0300
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
        df.parse(resultado);//desse jeito funciona

Caso vc tiver outra idéia melhor posta ai,

Criado 26 de junho de 2012
Ultima resposta 28 de jun. de 2012
Respostas 4
Participantes 3