Adăugați o lună la data curentă

Vreau să adaug o lună până în prezent, dar adaugă doar 4 săptămâni.

Am încercat așa,

2012-05-04 + DateTimeUtilities.ONEMONTH  = 2012-05-31

Rezultatul pe care îl primesc este 2012-05-31

Vreau să adaug o lună întreagă (30 de zile sau 31, sau când luna este un salt 29 sau 28).

0

1 răspunsuri

Încercați să convertiți timpul la un obiect Calendar apoi să creșteți câmpul lunii:

Calendar cal = Calendar.getInstance();
cal.setTime(new Date(timeInMillis));
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)+1);
long newTimeInMillis = cal.getTime().getTime();

Este posibil să doriți să verificați depășirea din decembrie până în ianuarie și să creșteți anul.

Documentația API confirmă faptul că DateTimeUtilities.ONEMONTH este de patru săptămâni, deci ceea ce ați obținut este ceea ce ar trebui să vă așteptați.

0
adăugat
Thanku foarte mult acest cod este de lucru
adăugat autor Rajiv Gupta, sursa
Mă aștept când Iuse această funcție (DateTimeUtilities.ONEMONTH) pentru a adăuga, a lua luna viitoare nu am citit api cu atenție vă rugăm să sory
adăugat autor Rajiv Gupta, sursa
Mulțumesc u foarte mult domnului Lucifer pentru îmbunătățirea limbii mele
adăugat autor Rajiv Gupta, sursa
Accept răspunsul lui Richard pentru întrebarea noastră Thanku foarte mult
adăugat autor Rajiv Gupta, sursa
Nu este nerezonabil să ne așteptăm la dataTimeUtilities.ONEMONTH, din păcate ceea ce este rezonabil și ceea ce este real în programare sunt de multe ori departe. O citire atentă a API ar trebui să fie întotdeauna primul pas atunci când ceva nu se comportă așa cum credeți că ar trebui. DateTimeUtilities.ONEMONTH este o constantă, dar luni variază în lungime, astfel încât nu poate face ceea ce este rezonabil să se aștepte. Probabil ar fi trebuit să fie lăsat în afara API.
adăugat autor Richard, sursa
Cred că sunteți foarte noi la StackOverflow. Nu acceptați un răspuns prin a spune că trebuie să utilizați accesul dvs. la site-ul UI ca persoană care solicită întrebarea pentru a marca răspunsul pe care îl considerați cel mai corect.
adăugat autor Richard, sursa
@RajivGupta Ar trebui să acceptați răspunsul lui Richard dacă acesta a răspuns la întrebarea dvs.
adăugat autor mrvincenzo, sursa