Tratamento de datas

9 respostas
L

olá a td´s…

bom estou desenvolvendo um sistema pra biblioteca etenho classes q utilizam datas…tipo…

data de emprestimo de livro
data de devolução prevista
data de devolucao real

e tenho tb uma data de nascimento… como seria mais faacil de manipular essas data??

eu tava montado uma class Data{}

mas assim…olhei varios codigos…mas nao to entendendo muito nao…

e mais as datas tem q ser comparadas…sei q como Date da pra compara…so q ta dando varios erros…pq depois q eu tratar elas tenho q inserir no bd usando java.sql.DAte

sera q alguem tem um exemplo simples pra eu ter uma ideeia…de como fazer…vlw

desde ja agradeço…

9 Respostas

Z

eu sempre uso a classe java.util.Calendar

lê ai o javadoc dela q tem tudo o q tu precisa

boa sorte!

F

Cara para se trabalhar com data no java eu costumo usar a classe Date acho mais simples e eficiente.

L

liviaguedes:
olá a td´s…

bom estou desenvolvendo um sistema pra biblioteca etenho classes q utilizam datas…tipo…

data de emprestimo de livro
data de devolução prevista
data de devolucao real

e tenho tb uma data de nascimento… como seria mais faacil de manipular essas data??

eu tava montado uma class Data{}

mas assim…olhei varios codigos…mas nao to entendendo muito nao…

e mais as datas tem q ser comparadas…sei q como Date da pra compara…so q ta dando varios erros…pq depois q eu tratar elas tenho q inserir no bd usando java.sql.DAte

sera q alguem tem um exemplo simples pra eu ter uma ideeia…de como fazer…vlw

desde ja agradeço…

Lívia, dê uma olhadinha nessa API: http://joda-time.sourceforge.net/

é altamente recomendável o uso. :wink:

L

vlw galera…bom depois de uma exaustiva pesquisa…fiz uma class Data

que por enquanto ta fazendo o q eu quero…q é transformar uma String em Date e calcular os dias…

Aind nao sei como compara datas…se alguem me ajudar…

brigada a td´s

L

vlw galera…bom depois de uma exaustiva pesquisa…fiz uma class Data

que por enquanto ta fazendo o q eu quero…q é transformar uma String em Date e calcular os dias…

Aind nao sei como compara datas…se alguem me ajudar…

brigada a td´s

Z

liviaguedes:
vlw galera…bom depois de uma exaustiva pesquisa…fiz uma class Data

que por enquanto ta fazendo o q eu quero…q é transformar uma String em Date e calcular os dias…

Aind nao sei como compara datas…se alguem me ajudar…

brigada a td´s

Cara… não reinvente a roda!
Usando a combinação DateFormat + Calendar (ou Date), você tem tudo o que precisa. Além do mais, são classes intensamente utilizadas e testadas pela Sun e por toda a comunidade Java. Algumas operações:

:arrow: Transformar String em Calendar:

String dataString = "01/02/2006";
DateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
Calendar data = Calendar.getInstance();
data.setTime(fmt.parse(dataString));

:arrow: Comparar datas:

Calendar d1 = Calendar.getInstance();
d1.set(Calendar.DATE, 1);
d1.set(Calendar.MONTH, 1); //0 = janeiro, 1 = fevereiro etc...
d1.set(Calendar.YEAR, 2006);

Calendar d2 = Calendar.getInstance();
d2.set(Calendar.DATE, 1);
d2.set(Calendar.MONTH, 2); //0 = janeiro, 1 = fevereiro etc...
d2.set(Calendar.YEAR, 2006);

int comparacao = d1.compareTo(d2);
//O mesmo método compareTo também existe na classe Date

if (comparacao &gt 0) {
    System.out.println("d1 é maior que d2");
} else if (comparacao &lt 0) {
    System.out.println("d1 é menor que d2");
} else {
    System.out.println("d1 é igual a d2");
}

:arrow: Transformar Calendar em Date

Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();

Boa sorte!

L

A classe java.util.Date tem como os metodos before() e after() para comparar datas, isso pra saber se uma vem antes da outra… pra saber qts dias se passaram entre as datas, vc pode retornar em milissegundos com o metodo getTime() isso retorna a data em milissegundos desde 01/01/1970 dai vc diminui um pelo outro e tem os dias passados em milissegundos, para retornar em dias bastar multiplicar por 1000, ai temos os segundos, por 60 ai temos os minutos, por 60 de novo ai temos as horas e por 24, que finalmente, temos os dias.

Z

Ah… e antes de querer reinventar a roda, experimente consultar a API do Java:

Se usa o Java 5: http://java.sun.com/j2se/1.5.0/docs/api/
Se usa o Java 6: http://java.sun.com/javase/6/docs/api/

L

bom ziegfried … acho q nao me expressei direito…nao reiventei nd…
é q assim…eu ja programo a algum tem …mas com java to mexendo a pouco mais de 1 ano e nao conheco muita coisa…

sei q depois q eu souber manipular bem aa classes …aii fik facil…eu estudei…sim a class Date…Calendar e diversas outras pq a logica eu tenho…so nao sabia a sintaxe…

A class data q fiz foi pra utilizar no meu programinha do tcc onde eu manipulo a data de emprestimo e devolucao de livro…é um programinha de biblioteca…

mas obrigada pois se nao fosse a galera do guj…meu tava perdida…hauhau

vlw a td e qlq coisa eu grito SOCORRO…bjao a td´s

Criado 29 de abril de 2007
Ultima resposta 2 de mai. de 2007
Respostas 9
Participantes 5