Converter String em Date.... Estranho!!!  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Derik
What is classpath?

Membro desde: 04/11/2008 16:45:26
Mensagens: 8
Offline

Alguem sabe me dizer porque isto:


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???
letakeda
Entusiasta Java

Membro desde: 08/08/2005 11:49:41
Mensagens: 16
Offline

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



Abraços,

Leandro Takeda
fausto
Java Ninja

Membro desde: 03/06/2008 16:07:31
Mensagens: 256
Offline

Aqui esta funcionando corretamente


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

Membro desde: 28/09/2006 11:38:29
Mensagens: 330
Localização: Curitiba / PR
Offline

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


SCJP 5
SCWCD 5
Derik
What is classpath?

Membro desde: 04/11/2008 16:45:26
Mensagens: 8
Offline

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
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

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

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
vdb
JavaEvangelist

Membro desde: 28/09/2006 11:38:29
Mensagens: 330
Localização: Curitiba / PR
Offline

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.

SCJP 5
SCWCD 5
Kbeça
Entusiasta Java

Membro desde: 18/04/2007 23:20:10
Mensagens: 15
Offline

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.
gersonmartins
Smalltalk

Membro desde: 25/11/2008 20:34:03
Mensagens: 2
Offline

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);

}
}
Derik
What is classpath?

Membro desde: 04/11/2008 16:45:26
Mensagens: 8
Offline

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?
gersonmartins
Smalltalk

Membro desde: 25/11/2008 20:34:03
Mensagens: 2
Offline

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);
}
}
Derik
What is classpath?

Membro desde: 04/11/2008 16:45:26
Mensagens: 8
Offline

Esta ótimo, Gerson...
Brigadão.
vdb
JavaEvangelist

Membro desde: 28/09/2006 11:38:29
Mensagens: 330
Localização: Curitiba / PR
Offline

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

SCJP 5
SCWCD 5
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team