Quote:
Originariamente inviato da pinok
Credo che il metodo più corretto sia questo:
Codice:
TimeZone tz = TimeZone.getTimeZone("Europe/Rome"); // Imposto la zona oraria
GregorianCalendar gc = new GregorianCalendar(tz); // Recupero la data attuale
gc.add(Calendar.DAY_OF_MONTH, 14); // Aggiungo 14 giorni (2 settimane)
// Altri esempi per comprendere meglio
gc.add(Calendar.DAY_OF_MONTH, -14); // Tolgo 14 giorni (2 settimane)
gc.add(Calendar.MONTH, 14); // Aggiungo 14 mesi
gc.add(Calendar.YEAR, -2); // Tolgo 2 anni
Tieni presente che in questo modo la data è calcolata sempre esattamente rispetto all'ora in cui è stata letta dal sistema, e non dalla mezzanotte, per cui quando aggiungi 2 settimane, se ora sono le 23.30 ottieni la data fra due settimane alle 23.30
Non ti serve calcolare i riporti, fa tutto il metodo add. Alla fine leggi normalmente il nuovo giorno, mese, anno.
|
1)ma come avevo fatto io prima perchè non andava bene?
2)si può dare un formato al calendario del tipo dd/MM/yyyy?
Ciao e grazie per l'aiuto