Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Trouver l'écart entre deux dates !
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Merci Claudius pour ces précisions de haut niveau .
J'ai appris du coup l'opérateur ternaire .
Comme je n'en suis qu'a mes débuts, je trouve pas très lisible cette écriture. J'avoue être plus à l'aise avec mes else if, disons que ca me parle plus !.
Et j'avoue que ça doit réduire considérablement le code
J'ai appris du coup l'opérateur ternaire .
Comme je n'en suis qu'a mes débuts, je trouve pas très lisible cette écriture. J'avoue être plus à l'aise avec mes else if, disons que ca me parle plus !.
Et j'avoue que ça doit réduire considérablement le code
Trouver l'écart entre deux dates !
- Claudius
Passionné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonsoir,
Question d'habitude...
Non, pas du tout, le compilateur le transcrit en un ... if .. else, cela s'appelle de la glu syntaxique que tous les langages de haut niveau ont adopté
Content de t'avoir appris cette syntaxe que j'utilise quotidiennement depuis des lustres en C, C++, Java et j'en passe et des meilleurs ...
@Jérémy: Comme je n'en suis qu'a mes débuts, je trouve pas très lisible cette écriture. J'avoue être plus à l'aise avec mes else if, disons que ça me parle plus !.
Question d'habitude...
@Jérémy: Et j'avoue que ça doit réduire considérablement le code
Non, pas du tout, le compilateur le transcrit en un ... if .. else, cela s'appelle de la glu syntaxique que tous les langages de haut niveau ont adopté
Content de t'avoir appris cette syntaxe que j'utilise quotidiennement depuis des lustres en C, C++, Java et j'en passe et des meilleurs ...
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
Trouver l'écart entre deux dates !
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir,
Voici mon code fini et fonctionnel pour la partie calcul de la différence entre deux dates ;
Le Gdh ( groupe Date Heure) c'est l'heure de mon module apres lecture
Le SMS_recu , c'est l'heure lu pour le réveil dans le SMS
Je calcul leur durée en seconde depuis 1970
Et je fais la différence des deux !
Puis j'injecte cette différence comme valeur de mon chrono, étant donné quelle est déjà en seconde.
Plus de probléme d'année bissextile , de mois a 31 ou 30 jours et autres difficultés avec les calendriers.
Voici le message que je me renvoie après reception du mot clé :
Voici mon code fini et fonctionnel pour la partie calcul de la différence entre deux dates ;
Le Gdh ( groupe Date Heure) c'est l'heure de mon module apres lecture
Le SMS_recu , c'est l'heure lu pour le réveil dans le SMS
Je calcul leur durée en seconde depuis 1970
Et je fais la différence des deux !
Puis j'injecte cette différence comme valeur de mon chrono, étant donné quelle est déjà en seconde.
Plus de probléme d'année bissextile , de mois a 31 ou 30 jours et autres difficultés avec les calendriers.
Code : Tout sélectionner
// remplissage des structures
ts1.ss = (((Gdh[15])-48)*10)+(((Gdh[16])-48));
ts1.mn = (((Gdh[12])-48)*10)+(((Gdh[13])-48));
ts1.hh = (((Gdh[9])-48)*10)+(((Gdh[10])-48));
ts1.md = (((Gdh[6])-48)*10)+(((Gdh[7])-48));
ts1.mo = (((Gdh[3])-48)*10)+(((Gdh[4])-48));
ts1.yy = 2000 + ((((Gdh[0])-48)*10)+(((Gdh[1])-48))) ;
ts2.ss = (((SMS_Recu[22])-48)*10)+(((SMS_Recu[23])-48)) ;
ts2.mn = (((SMS_Recu[19])-48)*10)+(((SMS_Recu[20])-48)) ;
ts2.hh = (((SMS_Recu[16])-48)*10)+(((SMS_Recu[17])-48)) ;
ts2.md = (((SMS_Recu[7])-48)*10)+(((SMS_Recu[8])-48)) ;
ts2.mo = (((SMS_Recu[10])-48)*10)+(((SMS_Recu[11])-48)) ;
ts2.yy = 2000 + ((((SMS_Recu[13])-48)*10)+(((SMS_Recu[14])-48))) ;
// calcul du temps
epoch1 =Time_dateToEpoch(&ts1) ;
epoch2 = Time_dateToEpoch(&ts2) ;
diff = epoch2 - epoch1 ;
Voici le message que je me renvoie après reception du mot clé :
Code : Tout sélectionner
case 7:{
UART1_Write_Text("Réveil reglé\r\n");
UART1_Write_Text("le : "); // écrit la date du reveil
UART1_Write(SMS_Recu[13]);
UART1_Write(SMS_Recu[14]);
UART1_Write_Text("\/");
UART1_Write(SMS_Recu[10]);
UART1_Write(SMS_Recu[11]);
UART1_Write_Text("\/");
UART1_Write(SMS_Recu[7]);
UART1_Write(SMS_Recu[8]);
UART1_Write_Text("\r\n");
UART1_Write_Text("a : "); // écrit l'heure du reveil
for (i=16;i<24;i++)
{
UART1_Write(SMS_Recu[i]);
}
i=0;
UART1_Write_Text("\r\n\r\n");
UART1_Write_Text("Voulez-vous le lancer ?");
break;
}
Trouver l'écart entre deux dates !
Tres bien . Tu n'es pas passé par la fonction "diff(tm1,tm2)"; , tu aurais du .
Reste plus qu'a remplacer, Time_dateToEpoch est c'est parfait.
c'est sur c'est la fonction Time_dateToEpoch qui le fait pour toi mais il y a un prix a celaPlus de probléme d'année bissextile , de mois a 31 ou 30 jours et autres difficultés avec les calendriers.
Reste plus qu'a remplacer, Time_dateToEpoch est c'est parfait.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 39 invités