mi sapete dire se la classe GregorianCalendar tiene conto anche degli anni bisestili quando va a fare un add?
mi sapete dire se la classe GregorianCalendar tiene conto anche degli anni bisestili quando va a fare un add?
Tony
Sì, GregorianCalendar "sa" dei "leap year". (se così non fosse avrebbero dovuto linciare chi l'ha sviluppataOriginariamente inviato da tony83
mi sapete dire se la classe GregorianCalendar tiene conto anche degli anni bisestili quando va a fare un add?).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Quindi se scrivo:
La datasistema finale toglie un'anno considerando l'anno bisestile ?codice:GregorianCalendar gc = new GregorianCalendar(); String FORMAT = "dd-MM-yyyy"; String dataSistema; try { System.out.println((new SimpleDateFormat(FORMAT)).format(gc.getTime())); gc.add(GregorianCalendar.MONTH, -13); dataSistema = (new SimpleDateFormat(FORMAT)).format(gc.getTime()); } catch (Exception ex) { dataSistema = ""; System.out.println("ERRORE"); } System.out.println("Data : " + dataSistema);
Tony
No alt ... in che senso "toglie un'anno"???Originariamente inviato da tony83
La datasistema finale toglie un'anno considerando l'anno bisestile ?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Da come la vedo io, con questa istruzione togli un anno e un mese.gc.add(GregorianCalendar.MONTH, -13);
"Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
Linus Torvalds
Sì ... appunto ma io intendevo dire: cosa centra tutto questo con il bisestile??Originariamente inviato da Pastore12
Da come la vedo io, con questa istruzione togli un anno e un mese.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
mi serviva facendo le prove con per esempio 30-03-2009
e mi restituisce il
Data : 29-02-2008.
quindi va bene, funziona.
Grazie
Tony
Secondo ma aveva un po' di confusione in testa e, quando ha scritto il codice, "pensava" che gli anni bisestili fossero di 13 mesi...Sì ... appunto ma io intendevo dire: cosa centra tutto questo con il bisestile??
...
Ah.. scusa Tony83, ho visto adesso che la spiegazione del mistero era un'altra..
"Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
Linus Torvalds
Sì, il senso è quello. GregorianCalendar "sa" quando un anno è bisestile (un giorno in più a febbraio) e quindi ne tiene conto nelle varie situazioni/casi. Se hai il 29/02/2008 (bisestile!) e sottrai 12 mesi, lui va al 28/02/2007 perchè lo sa che non c'è il 29 nel Febbrario 2007.Originariamente inviato da tony83
mi serviva facendo le prove con per esempio 30-03-2009
e mi restituisce il
Data : 29-02-2008.
quindi va bene, funziona.
Idem il caso che hai detto tu.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet