data partenza 01-04-2010
se io uso questo
codice:
gcal.add(Calendar.DATE, -1);
mi diventa 30-4-2010
...sbagliato!
questo è tutto il mio pezzetto, sbaglio qualcosa?!
codice:
String datainiziostoricoCorrente="20010-04-01"
String strdataIndietroUNgiorno ="";
String dg="";
String dm="";
String da="";
if(!datainiziostoricoCorrente.equalsIgnoreCase("")){
da=datainiziostoricoCorrente.substring(0,4);
dm=datainiziostoricoCorrente.substring(5,7);
dg=datainiziostoricoCorrente.substring(8,10);
GregorianCalendar gcal = new GregorianCalendar(Integer.parseInt(da),Integer.parseInt(dm),Integer.parseInt(dg)); // Ottieni il GregorianCalendar
//gcal.add(gcal.DATE, -1); // Aggiungo "-1" giorni (torno indietro di un giorno)
//gcal.add(gcal.MONTH, -1);
gcal.add(Calendar.DATE, -1); // Aggiungo "-1" giorni (torno indietro di un giorno)
strdataIndietroUNgiorno = String.valueOf(gcal.get(gcal.YEAR))+"-"+String.valueOf(gcal.get(gcal.MONTH)+1)+"-"+String.valueOf(gcal.get(gcal.DATE));
}
sto provando con entrambe gli ADD
però a dire il vero, non mi restituisce il 31-03 ma il 30-03 usando il -1date e -1month
mentre se uso il calendar-1 mi sbaglia proprio la data come ho scritto prima.