package com.taringamberini.util.date.test; import java.text.SimpleDateFormat; import java.util.GregorianCalendar; /** *
* Calcola i giorni di differenza fra un giorno ed il giorno immediatamente * successivo. Il calcolo è ripetuto per tutte le coppie successive di date dal * 01/01/2003 alla 31/12/2006. *
* * @author Tarin Gamberini - www.taringamberini.com */ public class DifferenzaDate1 { /** ** Calcola i giorni di differenza nell'intervallo ] dallaDataGC, allaDataGC ]. *
* * @param dallaDataGC * @param allaDataGC * @return Una stringa contenete i giorni fra due date calcolati con la * divisione intera, con la divisione reale e con l'arrotondamento * della divisione reale. */ public String giorniFraDueDate( GregorianCalendar dallaDataGC, GregorianCalendar allaDataGC ) { // conversione in millisecondi long dallaDataMilliSecondi = dallaDataGC.getTimeInMillis(); long allaDataMilliSecondi = allaDataGC.getTimeInMillis(); long millisecondiFraDueDate = allaDataMilliSecondi - dallaDataMilliSecondi; // conversione in giorni con la divisione intera double giorniFraDueDate_DivInt = millisecondiFraDueDate / 86400000; // conversione in giorni con la divisione reale double giorniFraDueDate_DivReal = millisecondiFraDueDate / 86400000.0; // conversione in giorni con arrotondamento della divisione reale double giorniFraDueDate_DivRealRound = Math.round( millisecondiFraDueDate / 86400000.0 ); return giorniFraDueDate_DivInt + "\t" + giorniFraDueDate_DivReal + "\t" + giorniFraDueDate_DivRealRound; } /** ** Calcola i giorni di differenza fra un giorno ed il giorno immediatamente * successivo. Il calcolo è ripetuto per tutte le coppie successive di date * dal 01/01/2003 alla 31/12/2006. *
** Interessanti i risultati nei giorno di cambio fra ora solare/legale e * legale/solare: *
*