Faire la soustraction en deux dates sous forme timestamp(yyyy/MM/dd hh:mm:ss) en

cs_rosa123 Messages postés 4 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 26 mai 2009 - 22 mai 2009 à 11:51
cs_rosa123 Messages postés 4 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 26 mai 2009 - 23 mai 2009 à 23:33
bjr
svp j'ai besoin d une aide urgent
je veux faire une sousttraction entre deux date sous forme timestamp(yyyy/MM/dd hh:mm:ss) en java

en faite une interface ou on peut saisir les dates qu on on click sur une bouton elle doit m'afficher dans un textfield le  resultat du calcul sous forme hh:mm:ss    

j ai essayée plusieur methode mais ca fonctione pas




import


java.text.DateFormat;











 








static







final







long







MILISECOND_PER_DAY


= 24 * 60 * 60 * 1000;






public







static







long


nbDays(Timestamp startDate, Timestamp endDate)



{





return


(



long


)Math. floor ((endDate.getTime() - startDate.getTime()) /



MILISECOND_PER_DAY


);



}








private







void


btntesterMouseClicked(java.awt.event.MouseEvent evt) {





//



TODO



add your handling code here:














try


{Timestamp datefact =Timestamp.valueOf(



txtfacturation

.getText());Timestamp daterecfact= Timestamp. valueOf (



txtreception_sce_fac

.getText());




long


a =GestionFacture.nbDays(daterecfact, datefact);DateFormat dateFormat =




new


SimpleDateFormat(


"hh:mm:ss"

);String result=dateFormat.format(a);



txtdelaifact

.setText(result);

}




catch


(Exception e){ JOptionPane.showMessageDialog(



null


,e.getMessage()); }}

mais ça donne pas ce que je vx

svp si qqn a une idée qui pourra m aider n'hesitez pas
j 'attend vos porposition
merci d'avance
A voir également:

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 mai 2009 à 20:48
Salut,

Evite les "c'est urgent", ca énerve plus qu'autre chose !!!

Sinon, regarde du côté des Calendar : il te permettent de faire d'appliquer des additions sur des dates.
0
cs_rosa123 Messages postés 4 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 26 mai 2009
23 mai 2009 à 01:29
d'accord je l'eviterais une fois pour toute merci pour le conseil   

oui j 'ai deja essayée calender aussi mais ca na pas marché voila la methode que j ai essayée

private
void btntesterMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

Calendar dA =

new GregorianCalendar(2007,8, 12);

Calendar dB =
new GregorianCalendar(2007, 8, 18);

long diffMillis = dA.getTimeInMillis() - dB.getTimeInMillis();

long diffenjours = diffMillis / (24*60*60*1000);

long jours = diffenjours;
}

le probleme c'est que j ai une interface la ou je dois saisir les dates et affcher les resultat sous fome(hh:mm:ss) en cliquant sur le bouton tester
c-à-d entre deux date saisi la methode doit calculer la diffrence et m'afficher le rsultat dans des textfield
j ai 6 delai que je dois calculer dans la meme interface
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
23 mai 2009 à 07:36
Au lieu de faire la conversion millisecondes en jours, convertit plutôt tes ms en un Timestamp :

Calendar dA new GregorianCalendar(2007,Calendar.AUGUST, 12); // Attention, pour Calendar, le mois d'Août 7 et non 8 !
Calendar dB = new GregorianCalendar(2007, Calendar.AUGUST, 18);

long aTime = dA.getTimeInMillis();
long bTime = apres.getTimeInMillis();

long diffMillis = dA.getTimeInMillis() - dB.getTimeInMillis();
Calendar resultat = New GregorianCalendar();
resultat.setTimeInMillis(diffsMillis);

long jours = resultat.get(Calendar.DAY_OF_MONTH);
0
cs_rosa123 Messages postés 4 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 26 mai 2009
23 mai 2009 à 23:33
merci c tres gentil de ta part de m'avoir aider


ok je vais essayer cette methode aussi et je te tienderais au courant du resultat


merci encore une fois


passe une bonne week end     
0
Rejoignez-nous