Calcul de durée sous QT [Résolu]

Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
- - Dernière réponse : oum87
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
- 31 janv. 2012 à 16:53
Bonsoir,
je suis débutante sur QT et je cherche à récupérer la durée(différence entre 2 dates); Pour ceci,j'ai insérée 2 objets(date/time edit)grace à QTdesigner et que j'ai réspéctivement nommé:dateEdit,et dateEdit_2
que je voudrais stockée dans une bdd,j'éssaie d'insérer dans une table contrat ces données ke j'ai récupérée de mes qlineedit:(je travaille sous Access)

QSqlQuery  q;
req="INSERT INTO contrat (CIN,date départ,date retour,prix,matricule) VALUES ('"+ui->cINLineEdit->text()+"','"+ui->dateEdit->text() +"','"+ui->dateEdit_2->text()+"','"+ui->prixPayerLineEdit->text()+"','"+ui->matricule->text() +"')";
 q.exec(req);



ensuite je voudrais récupérer les 2 champs dateEdit etdateEdit_2 pour calculer la durée
j'ai éssayé ceci mais ça plante :s:s

QDateTime T1;
T1= ui->dateEdit->textFromDateTime();



il m'affiche une érreur du type:
No matching function for call to 'QDateEdit::textFromDateTime'

Voila merci de répondre
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
3
Merci
C bon ça compile
Merci pour ton aide

      QDateTime T1=ui->dateEdit->dateTime();
         QDateTime T2=ui->dateEdit->dateTime();

         T1.daysTo(T2);



comme ça je récupère la durée en jours :)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de oum87
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
Hello,
Je ne comprend pas trop le lien entre ton histoire de calcul de "différence de date" (intervalle,quoi ) et ta bdd.
Dans tous les cas:
- QDateEdit::dateTime te permet de récupérer la date d'un QDateEdit
- QDateTime::secsTo() te permet de calculer le nombre de secondes entre 2 dates

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
0
Merci
Salut,

Au fait je voudrais insérer mes dates dans une base de donnée Access et puis calculer la durée(l'intervalle :))

J'ai refait ce code
QDateEdit::QDateTimeEdit T1;
     T1= ui->dateEdit->textFromDateTime();



mais il me réenvoie toujours la méme érreur

No matching function for call to 'QDateEdit::textFromDateTime'
Commenter la réponse de oum87
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
Pourquoi passer par un QDateTimeEdit?
De plus, la méthode textFromDateTime() est protected, donc non accessible.
Si tu veux avoir la string correspondant à la date courante du QDateEdit, il faut plutôt faire:
QString dateString = tonDateEdit.dateTime.toString(tonFormat)

La doc

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
0
Merci
Merci pour la réponse seulement il ne reconnait pas le(toString) après le dateTime,j'ai alors éssayé le code suivant qui a l'air de fonctionner
QString dateString1 = ui->dateEdit->date().toString();
      QString dateString2 = ui->dateEdit_2->date().toString();




Maintenant comment je fais pour calculer la différence entre les 2 dates

Merciii de répondre
Commenter la réponse de oum87
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
Maintenant comment je fais pour calculer la différence entre les 2 dates

Tu regardes ma 1ère réponse?


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
Attention! Ne pas se baser sur les QString mais bien sur les QDateTime...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
0
Merci
J'ai éssayé ce code mais ça marche pas:
QDateTime::secsTo(dateString1,dateString2);
Commenter la réponse de oum87
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
Avant d'essayer...si tu lisais la doc!
Normal que ça ne marche pas...Je te renvoie à la doc de la méthode
QDateTime::secsTo()

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
Tu as en plus un exemple...tu devrais donc y arriver maintenant...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
N'oublie pas de cliquer sur "Réponse Acceptée" pour fermer le sujet ...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
0
Merci
Stp je cherche à afficher la valeur de la durée dans un Qlineedit( ui->totalLineEdit)

j’essaie ce code ci mais il y'a un problème de conversion

int dur=  T1.daysTo(T2);


          ui->totalLineEdit->setText(dur);




Commenter la réponse de oum87
Messages postés
14509
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
22 mai 2019
88
0
Merci
doc
Merci de lire la doc avant de poster...

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
0
Merci
Ok daccord,je vais y chercher avant merci en tt cas pour la durée
Commenter la réponse de oum87