Condition Heure + 1

Eléphant du PHP | 120 Messages

11 août 2019, 08:38

Bonjour,

Voilà plusieurs semaines (bon, pas tous les jours) que j’essaie de trouver la bonne condition mais rien à faire toujours un hic !

Je m'explique sur ma page j'ai une image qui vient d'une webcam celle ci est actualisée toutes les 30mn (à 05mn et à 35mn)

00:05:00, 00:35:00, 01:05:00, 01:35:00, 02:05:00 etc .

J'aimerais afficher l'heure en temps réel et surtout l'heure de la prochaine actualisation.
Voici mes deux conditions

Code : Tout sélectionner

if (MinutesInfo<34) {document.getElementById("prochain").innerHTML='Prochaine actualisation à : ' + info.getHours() + ":35:00";} if (MinutesInfo>34 || MinutesInfo<4) {document.getElementById("prochain").innerHTML='Prochaine actualisation à : ' + (info.getHours()+1) + ":05:00";}
Ce qui est gênant c'est qu'à 35 il doit m'afficher (l'heure+1) et 05mn (pour la prochaine actualisation)
Exemple : il est 00:40:00 prochaine actualisation 01:05:00 c'est ce passage des 1 heure qui fait que je m'arrache mes cheveux.

J’espère avoir été assez clair

Merci pour votre aide

Eric

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8356 Messages

11 août 2019, 09:09

Bonjour,

Qu'est ce qui ne marche pas en fait ?

Attention aussi à gérer le cas de 23h où 23h+1h doit repartir à minuit ;-)

Ce n'est peut être pas utile pour ton projet où il y a peu de cas donc ça peut se faire manuellement mais à noter l'existence d'une librairie javascript très pratique pour manipuler les dates et heures : https://momentjs.com
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 120 Messages

11 août 2019, 09:12

Justement c'est ce passage entre 23h35 et 00:05:00
C'est juste une histoire de condition , si une personne vient sur mon site à 00h02 avec ma condition il va m'afficher "Prochaine actualisation : 01h05" au lieu de 00h05 !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8356 Messages

11 août 2019, 10:17

Du coup il faut que tu mettes une condition sur les minutes aussi...

Ma recommandation est de décrire en français tes cas de figures/algo, ça aide en général à avoir les idées + clair avant de développer :

Code : Tout sélectionner

SI minute_actuelle > 35 ET heure_actuelle < 23 ALORS heure_a_afficher = heure_courante+1 SI minute_actuelle > 35 ET heure_actuelle == 23 ALORS heure_a_afficher = 0
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 120 Messages

11 août 2019, 10:24

Oui effectivement je n'avais pas pensé à deux variables (heure_a_afficher et heure_courante)

Je vais tester ça merci :)