• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

NameException

Somar datas com GregorianCalendar

2 mensagens neste tópico

Oi... Boas!!!

Como é que posso somar duas datas utlizando a classe GregorianCalendar?

O problema é o seguinte: tendo uma data inicial, como posso adicionar mais tempo  a essa data inicial?

[]'s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Supondo que o objectivo é adicionar g2 a g1 e que no fim g1 é o resultados da soma...

GregorianCalendar g1 = new GregorianCalendar(), g2 = new GregorianCalendar();

g1.add(GregorianCalendar.YEAR, g2.get(GregorianCalendar.YEAR));

//repetir para mes, dia, ano, segundo, etc...

Esta é uma forma que encontrei para somar duas datas, isto é, a classe tem apenas um método para incrementar datas, o método add(int campo, int valor), pelo que a forma será obter as componentes da data e ir somando individualmente até atingir a precisão pretendida. O método get(int campo) é o um método de acesso único, serve para dias, meses, anos, etc...

Outra será:

long totalTime = g1.getTimeInMillis() + g2.getTimeInMillis();

g1.setTimeInMillis(totalTime);

Claro que podes eliminar a variável totalTime:

g1.setTimeInMillis(g1.getTimeInMillis() + g2.getTimeInMillis());

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora