ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 2013
-
14 avril 2008 à 14:09
Utilisateur anonyme -
14 avril 2008 à 23:09
bonjour
je cherche à faire la diférence entre deux date date actuele et date stocké dans la base de donnée
voila exemple
date a = resultat.getdate("date_fin");
qui donne 2007-04-10
Date date1 = new Date();
j'aurais comme résultat 4
Salut ulysse,
Voici un exemple avec dA date du jour et dB 2008/04/10
Calendar dA = new GregorianCalendar(); // date du jour
// obtention des composants de la date nécessaires :
int anneeA = dA.get(Calendar.YEAR);
int num_moisA = dA.get(Calendar.MONTH);
int n_moisA = num_moisA +1;
int jourA = dA.get(Calendar.DAY_OF_MONTH);
int anneeB = 2008;
int num_moisB = 04;
int jourB = 10;
Calendar dB = new GregorianCalendar(anneeB, num_moisB - 1, jourB);
long diffMillis = dA.getTimeInMillis() - dB.getTimeInMillis();
long diffenjours = diffMillis / (24*60*60*1000);
// zero a gauche du jour et du mois <10
String Snum_moisA = (n_moisA<10?"0":"") + n_moisA;
String Snum_moisB = (num_moisB<10?"0":"") + num_moisB;
String SjourA = (jourA<10?"0":"") + jourA;
String SjourB = (jourB<10?"0":"") + jourB;
String info = ""; Pour affichage.
if (diffenjours 0) inf " La date A " + anneeA + "/" + Snum_moisA + "/" + SjourA
+ " est égale à \n la date B " + anneeB
+ "/" + Snum_moisB + "/" + SjourB;
if (diffenjours > 0) inf = " La date A " + anneeA + "/" + Snum_moisA + "/" + SjourA
+ " est postérieure \n de "+ diffenjours + " jour(s) à la date B " + anneeB
+ "/" + Snum_moisB + "/" + SjourB;
if (diffenjours < 0) inf = " La date A " + anneeA + "/" + Snum_moisA + "/" + SjourA
+ "\n est antérieure \n de "+ diffenjours * -1 + " jour(s) à la date B "
+ anneeB + "/" + Snum_moisB + "/" + SjourB;