Manipulando datas!

11 respostas
D
Seguinte pessoal, to fazendo um sisteminha de locadora e na hora da pessoa alugar um certo DVD estou botando pra aparecer a data da locação que estou usando assim:

Date data = new Date();

Locale locale = Locale.getDefault();

DateFormat dt = DateFormat.getDateInstance(DateFormat.SHORT,locale);

Ai ele está pegando a data do windows e gravando, até ai tudo bem.

Só que eu quero setar automaticamente uma data pra devolução do DVD.
Por exemplo se eu aluguei hoje vai fica como data de locação: 02/12/2008 ai eu quero que automaticamente ele adicione 2 dias e mostre a data de devolução que ai seria dia 04/12/2008.
Resumindo, logo após ele pegar a data da locação preciso que ele automaticamente aumente 2 dias para mostrar a data de devolução.

Alguém ai pode me ajudar?
Obrigado!

11 Respostas

F

pode ser com calendar?

data.add(Calendar.day_of_month, 2); onde 2 eh o numerodo de dias XD

soh que terias que passar sua variavel apra calendar

A

Olá,

Sugiro utilizar a api Joda Time - http://joda-time.sourceforge.net/.
Você poderia utilizar, por exemplo, o método

Days plus(Days days) Returns a new instance with the specified number of days added.

Um abraço,
Adriano Anderson

D

Não entendi como usar esse Calendar :S

thiago.correa

O Calendar é uma classa para manipular datas, como você pode perceber os métodos da Classe Date estão deprecated, ou seja, seu uso não é recomendado, o que se pode fazer é algo do tipo

import java.util.Calendar;
import java.util.GregorianCalendar;

class Class1 {
    public static void main(String[] args) {
        Calendar locacao = new GregorianCalendar();
        System.out.println("Locação: " + locacao.getTime());
        locacao.add(Calendar.DAY_OF_MONTH,2);
        System.out.println("Devolução: " + locacao.getTime());
    }
    
}
D

Ai depois eu estou gravando os dados em arquivos .txt ai preciso converter para String como faço?

D

E ai ficou assim:
Tue Dec 02 16:15:23 BRST 2008

Mais eu só preciso da data!

D

Fabio_Kym_Nascimento

Calendar agora = Calendar.getInstance(); System.out.println(agora.get(Calendar.DAY_OF_MONTH) + "/" + agora.get(Calendar.MONTH) + "/" + agora.get(Calendar.YEAR));

Assim você consegue montar a data do jeito que você quiser!

D

To usando pra manipular as datas o seguinte:
Peguei como me disseram aqui:

Calendar locacao = new GregorianCalendar(); Calendar agora = Calendar.getInstance(); variavel = agora.get(Calendar.DAY_OF_MONTH)+ "/" +agora.get(Calendar.MONTH)+ "/" +agora.get(Calendar.YEAR)

Só que o seguinte teria que pegar a data 08/12/2008 só que ta pegando 08/11/2008, alguém sabe me dizer o porque?
E como arrumar isso?

D

Alguem ai pra me ajudar?

brunocl14

não esqueça que no java assim como em outras linguagens de programação, começa-se a contar do 0.

então…: meses 0-11… vc deve adicionar 1 para sua data ser mostrada corretamente.

qualquer duvida em java corra pro site da sun… joga no google.: java sun “o que vc esta com duvida” e procura a documentação da classe.

só precisa de um pouco de inglês.

Criado 2 de dezembro de 2008
Ultima resposta 9 de dez. de 2008
Respostas 11
Participantes 6