Calcul de durée sous QT

Résolu
oum87 Messages postés 21 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 23 janvier 2013 - 31 janv. 2012 à 13:08
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
A voir également:

14 réponses

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:30
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 :)
3
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 15:02
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...
0
oum87 Messages postés 21 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 23 janvier 2013
31 janv. 2012 à 15:39
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'
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 15:52
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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:02
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
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 16:11
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...
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 16:12
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...
0
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:17
J'ai éssayé ce code mais ça marche pas:
QDateTime::secsTo(dateString1,dateString2);
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 16:23
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...
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 16:24
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...
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 16:34
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...
0
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:36
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);




0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
31 janv. 2012 à 16:49
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...
0
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
Ok daccord,je vais y chercher avant merci en tt cas pour la durée
0
Rejoignez-nous