Ajuda com conversao de data

10 respostas
D

bom dia …
tenho uma data que chega dessa forma:

“Thu Oct 27 23:59:00 BRST 2011”

preciso converte-la pra essa forma “dd/MM/yyyy HH:mm”

mas nao consigo… estou tentando dessa forma

Date data;
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm");
data = formatter.parse("Thu Oct 27 23:59:00 BRST 2011");

alguem pode me ajudar?

10 Respostas

A

cara,

primeiro vc tem que converter essa sua string (vc vai ter que pesquisar no google qual a pattern dessa sua data) em um objeto date e depois converter o date obtido para String com o pattern dd/MM/yyyy HH:mm.

t+

E

Vc tem ela como string mesmo ou com o objeto date? Veja o exemplo

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

public class TesteData {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date date = new Date();
		
		System.out.println(date);
		
		SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
		
		System.out.println(dateFormat.format(date));
		
	}

}

Isso ai imprime

Thu Oct 27 11:39:19 BRST 2011
27/10/2011 11:39

abs,

Evandro

Diguinho.Max

Evandro_Contato:
Vc tem ela como string mesmo ou com o objeto date? Veja o exemplo

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

public class TesteData {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date date = new Date();
		
		System.out.println(date);
		
		SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
		
		System.out.println(dateFormat.format(date));
		
	}

}

Isso ai imprime

Thu Oct 27 11:39:19 BRST 2011
27/10/2011 11:39

abs,

Evandro

conconrdo com Evandro este exemplo explica muito bem.

D

essa data desse formato em como String dessa forma
‘Thu Oct 27 23:59:00 BRST 2011’
de uma pagina criada em flex…
eu ja tentei fazer dessa forma mas da erro na hora de transforma

E

Cara ve se ajuda, mas tive que trabalhar com sua string,

o mês Oct no caso, se eu jogasse a mascara como MMM ele dava erro então tive eu substrituir pelo 10, neste caso se vc for fazer assim, verifique o mês o substitua pelo mes correto.
Também retirei o BRST, dai funciona.
Retirei tbem o dia da semana pois não me serve para nada, ele vai ser setado automaticamente, quando jogar o dia, mes, ano.

public class TesteData {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
				
//		EEE MMM dd HH:mm:ss zzzz yyyy
//		
//		Thu Oct 27 23:59:00 BRST 2011
		
		SimpleDateFormat dateFormat = new SimpleDateFormat("MM dd HH:mm:ss yyyy");
		
		Date d = null;
		try {
			d = dateFormat.parse("10 27 23:59:00 2011");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println(d);
		
	}

}

Não sei se existe outra maneira porém foi a que eu achei para funcionar ;),

abs,

Evandro

D

Evandro como posso substituir por numero as letras?

E

Rs, lógica, usando métodos que trabalham com string, como substring, etc.

Colher de chá ein, hehe

Só não esquece de fazer o if para todos os meses.

public class TesteData {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		String minhaData = "Thu Oct 27 23:59:00 BRST 2011";
		
		minhaData = minhaData.substring(4, minhaData.length());
		String mes = minhaData.substring(0,3);
		String mesNum = "00";
		
		if (mes.equals("Jan"))
			mesNum = "01";
		else if (mes.equals("Fev"))
			mesNum = "02";
		else if (mes.equals("Oct"))
			mesNum = "10";
		
		minhaData = minhaData.replace(mes, mesNum);
		minhaData = minhaData.replace("BRST ", "");
		
		System.out.println(minhaData);
		
		SimpleDateFormat dateFormat = new SimpleDateFormat("MM dd HH:mm:ss yyyy");
		
		Date d = null;
		try {
			d = dateFormat.parse(minhaData);
		} catch (ParseException e) {
		
			e.printStackTrace();
		}
		
		System.out.println(d);		
	}
}

abs,

Evandro

D

obrigado… farei um teste aqui
abs

D

ow nao deu certo vc acredita…

eu faço tudo e ela fica nesse formato “MM dd HH:mm:ss yyyy”
mas quando vou transforma pra esse mm/dd/aaa HH:mm ele da erro

sera o q pode ser Evandro?

pmlm

Hmmm… Tu tens um Date e não um String. E um Date não tem um formato, o que tu podes fazer é criar uma String com determinado formato de data. Agora um Date vai aparecer sempre com esse formato.
E já, agora, para que queres tu mudar o formato da data?

Criado 27 de outubro de 2011
Ultima resposta 27 de out. de 2011
Respostas 10
Participantes 5