Ajouter de zéro(s) à un calcul d'horaire pour ne pas planter un bloc A

Bonjour à tous,
Dans un scénario j’aimerai calculer une heure de déclenchement de la filtration de ma piscine suivant des paramètres

Le calcul fonctionne bien mais dans le calcul de l’heure de déclenchement j’ai un problème quand l’heure calculée est entre 0000 et 0959 car dans ma variable cela apparait entre rien et 959 quand le bloc A accepte uniquement une heure à 4 caractères 1259 par ex

ma variable est time_op(0600,-variable(tps_filtration_calcul)) et renvoi aujourd’hui 300 et j’aimerai 0300

pour savoir s’il manque des caractère j’utilise strlen qui me renvoit bien le nombre de chiffres et je peux faire des blocs si mais je ne trouve pas comment mettre des zéro et que la variable accepte ce format type 0000 à 0959 après le formatage est ok

merci de votre aide

hello,

https://www.php.net/manual/fr/function.str-pad.php

tu as str_pad qui existe, et tu peux te passer de strlen du coup vu qu’il complètera que si besoin

1 « J'aime »

Bonjour,

Non, il est permis d’avoir une valeur sur 3 ou 2 chiffres, peut être même 1 je ne suis plus sur.
Dans ce cas le core considère simplement que ce sont des 0 à gauche. Donc 952 = 0952.

Mais vous ne pouvez pas ne rien avoir.

étonnant ou j’ai loupé un truc car moi il me remonte une heure incorrecte sachant que la valeur de la variable est 300 pour à la base (3h du mat)

time_op(time,value) : Permet de faire des opérations sur le temps, avec time=temps (ex : 1530) et value=valeur à ajouter ou à soustraire en minutes.

time_op c’est une heure avec ± des minutes
Donc 6h -300min ca doit donner 0100 donc 01h00 du mat ?!

euuuuh correction j’ai rien touché et oui cela accepte un format à 3 caractère…

ce matin j’avais cela


et maintenant

bon et bien désolé de vous avoir solliciter pour des prunes je tournai en rond et maintenant cela passe …tant mieux et désolé

dans votre message d’erreur on voit qu’il n’y a pas de valeur et ca ce n’est pas autorisé comme je disais, il faut au moins 1 chiffre, même si c’est 0.

je viens de faire 4 tests:

  1. j’ai rien mis (vide), on voit les [] => et l’erreur sans valeur
  2. [3] => 0h03min; ok
  3. [0] => 0h00min; ok
  4. [1263] => 12h63, ca n’existe pas => erreur.
[2023-03-11 16:52:33][SCENARIO] -- Start : Scenario lance manuellement.
[2023-03-11 16:52:33][SCENARIO] - Exécution du sous-élément de type [condition] : at
[2023-03-11 16:52:33][SCENARIO] Evaluation de la condition : [] =
[2023-03-11 16:52:33][SCENARIO] Erreur : Bloc type A : 53, heure programmée invalide :
------------------------------------
[2023-03-11 16:52:42][SCENARIO] -- Start : Scenario lance manuellement.
[2023-03-11 16:52:42][SCENARIO] - Exécution du sous-élément de type [condition] : at 3
[2023-03-11 16:52:42][SCENARIO] Evaluation de la condition : [3] = 3
[2023-03-11 16:52:42][SCENARIO] Tâche :  53  programmée à :  2023-03-12 00:03:00
[2023-03-11 16:52:42][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-03-11 16:53:36][SCENARIO] -- Start : Scenario lance manuellement.
[2023-03-11 16:53:36][SCENARIO] - Exécution du sous-élément de type [condition] : at 0
[2023-03-11 16:53:36][SCENARIO] Evaluation de la condition : [0] = 0
[2023-03-11 16:53:36][SCENARIO] Tâche :  53  programmée à :  2023-03-12 00:00:00
[2023-03-11 16:53:36][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-03-11 16:54:52][SCENARIO] -- Start : Scenario lance manuellement.
[2023-03-11 16:54:52][SCENARIO] - Exécution du sous-élément de type [condition] : at 1265
[2023-03-11 16:54:52][SCENARIO] Evaluation de la condition : [1265] = 1265
[2023-03-11 16:54:52][SCENARIO] Erreur : Bloc type A : 53, heure programmée invalide : 1970-01-01 01:00:00

ah ok j’ai donc mal lu le msg d’erreur …vraiment désolé

y a pas de mal, c’est pour ca que j’explique :wink:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.