Jump to content

Somar datas com GregorianCalendar


NameException
 Share

Recommended Posts

NameException

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

Link to comment
Share on other 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());
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.