Converter String em Date.... Estranho!

Alguem sabe me dizer porque isto:

SimpleDateFormat ft = new SimpleDateFormat("ddMMyyyy");
               Date data =ft.parse(chamada.getDataInicial());
               ft.setLenient(false);
               System.out.println("Proxima data: " + data);

Retorna isto:

Proxima data: Thu Nov 06 00:00:00 GMT 2008

E não isto:

03112008

Estou utilizando o NetBeans 6.5, algo a ver???

Tente assim… check também se o chamada.getDataInicial() ta retornando realmente o que deveria… está?

    String pattern = "MM/dd/yyyy";
    SimpleDateFormat format = new SimpleDateFormat(pattern);
    try {
      Date date = format.parse("12/31/2006");
      System.out.println(date);
   }

Abraços,

Aqui esta funcionando corretamente


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

public class Teste {

	public static void main(String[] args) throws ParseException {
		SimpleDateFormat ft = new SimpleDateFormat("ddMMyyyy");
		Date data = ft.parse("03112008");
		ft.setLenient(false);
		System.out.println("Proxima data: " + data);
	}

}

Sai
Proxima data: Mon Nov 03 00:00:00 BRST 2008

Voce deve usar format para a data sair da maneira q vc quer

SimpleDateFormat ft = new SimpleDateFormat("ddMMyyyy");   
               Date data =ft.parse(chamada.getDataInicial());   
               ft.setLenient(false);   
               System.out.println("Proxima data: " + ft.format(data));  

Não deu certo pessoal…

O método format retorna uma string, e a minha variavel data foi declarada como Date.
Tentei colocar tb “12/31/2006”, neste formato mas tb não deu certo, e o chamada.getDataInicial(), esta retornado o que deveria uma String"03112008 ", só qua apos a conversão

continua saindo isto:

Proxima data: Thu Nov 06 00:00:00 GMT 2008

Se ainda está com a mesma saída depois do código acima, limpe o projeto e recompile o código.

Sempre se voce colar um tipo Date para imprimir o resultado será:
Proxima data: Thu Nov 06 00:00:00 GMT 2008

o SimpleDateFormat eh para retornar o formato que vc especificou em string, utilizando o metodo format.

uso assim: ai vc define do jeito q quer.

public static void horasData(JLabel data, JLabel hora){
String diaSemana[] = {“domingo”, “segunda-feira”, “terça-feira”, “quarta-feira”,
“quinta-feira”, “sexta-feira”,“sábado”};
String meses[] = {“janeiro”,“fevereiro”,“março”, “abril”, “maio”, “junho”,
“julho”,“agosto”, “setembro”, “outubro”, “novembro”, “dezembro”};

        Calendar agora = Calendar.getInstance();
		int ho = agora.get(Calendar.HOUR_OF_DAY);
		int mi = agora.get(Calendar.MINUTE);
		int se = agora.get(Calendar.SECOND);
		
		int ds = agora.get(Calendar.DAY_OF_WEEK);
		int dia = agora.get(Calendar.DAY_OF_MONTH);
		int mes = agora.get(Calendar.MONTH);
		int ano = agora.get(Calendar.YEAR);
		
		hora.setText(formatar(ho % 24)+ ":" + formatar(mi)+ ":" + formatar(se)+ "");
		data.setText(diaSemana[ds - 1] + ", "+formatar(dia)+" de "+meses[mes]+ " de "+ ano+ "");		
	
	}

	public static String formatar(int num){
		   DecimalFormat df = new DecimalFormat("00");
		   
		   return df.format(num);
	}

ou uso assim

public static void dataatual(JTextField hora){

	SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");                                    

hora.setText(sdf.format(new Date()));

}

espero ter ajudado.

Pelo menos comigo deu certo

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

public class Teste
{
public static void main(String[ ] args) throws ParseException
{
Date data = new SimpleDateFormat(“dd/MM/yyyy”).parse(“03/11/2008”);

	String dt = new SimpleDateFormat("dd/MM/yyyy").format(data);		

	System.out.println( data);
	System.out.println("Data formatada   " + dt);

}

}

Bom dia Pessoal.

Obrigado pela ajuda, problema resolvido.
Só mais uma dúvida, vcs sabem me dizer se a classe Date, ou a classe Calendar, possuem algum método que consiga pegar o próximo dia.
Algo como um next Date?

cara a classe Date esta depreciada mais essa eh a unica forma que eu achei de tentar te ajudar, a classe Date retorna a data em milissegundos entao com aquele calculo de um dia eu consigo acrecentar um dia na data que vc pegou de uma string e converteu

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

public class Data
{
public static void main(String[ ] args) throws ParseException
{
Date data = new SimpleDateFormat(“dd/MM/yyyy”).parse(“03/11/2008”);

	String dt = new SimpleDateFormat("dd/MM/yyyy").format(data); 

	long incrementador = data.getTime();

	int dia = 1000 * 60 * 60 * 24; 
	incrementador = incrementador + dia;
	data.setTime(incrementador);
	dt = new SimpleDateFormat("dd/MM/yyyy").format(data);
	
	System.out.println(dt);
} 

}

Esta ótimo, Gerson…
Brigadão.

Com a classe Calendar vc consegue acrescentar um dia, mes, ano, oq vc quiser, sem precisar fazer qualquer calculo.