Différence entre deux dates données dans deux formats

cs_Hugogo44 Messages postés 8 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 28 juillet 2009 - 21 mai 2008 à 14:52
cs_Hugogo44 Messages postés 8 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 28 juillet 2009 - 22 mai 2008 à 08:42
Bonjour,

Je souhaite effectuer une soustraction entre deux dates dont les formats sont différents...
Je m'explique : ma première date est de la forme : "yyyy-MM-dd HH:mm"
et ma seconde : "HH:mm",
et je souhaite obtenir un résultat de la forme "yyyy-MM-dd HH:mm".

J'ai tout d'abord essayé de traiter ces deux dates comme des String, mais c'est compliquer car il y a beaucoup de cas particulers lors de la différence, par exemple :
2008-01-01 00:00 - 00:15 = 2007-12-31 23:45

J'ai donc ensuite essayé la méthode suivante :

SimpleDateFormat sdf1= new SimpleDateFormat("yyyy-MM-dd HH:mm");
SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");

String Date1 = "2008-01-01 00:00";
String Date2 = 00:15;
long  resultat = (sdf1.parse(Date1)).getTime()-(sdf2.parse(Date2)).getTime();
String sResultat = String.valueOf(resultat);
sResultat = resultat%31104000
              +(resultat%31104000)/2592000
              +((resultat%31104000)%2592000)/86400+" "
              +(((resultat%31104000)%2592000)%86400)/3600+":"
              +((((resultat%31104000)%2592000)%86400)%3600)/6;
System.out.println(sResultat );

Mais le resultat affiché ne correspond pas du tout à ce que j'attend...

Quelqu'un aurait-il une piste pour me permettre d'améliorer ce code?

Merci beaucoup pour vos réponses.

2 réponses

mouzart Messages postés 161 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 novembre 2008 4
21 mai 2008 à 17:11
slt,
Ce que je te propose est de transformer ta premiere date en milliseconds et puis la deuxieme aussi
fait la difference et t obtiendra un resultat en milliseconds que tu peux transformer en date avec le format ke tu veux.

C pa compilque

allez courage
0
cs_Hugogo44 Messages postés 8 Date d'inscription vendredi 8 décembre 2000 Statut Membre Dernière intervention 28 juillet 2009
22 mai 2008 à 08:42
Salut mouzart,

C'est vrai que c'est la solution qui me semble la plus simple à mettre en oeuvre...

Merci pout ton conseil.
0
Rejoignez-nous