Aller au contenu

Additionner / Soustraire Des Heures En Lua


jjacques68

Messages recommandés

Bonjour àtous,

Quelqu'un peut m'indiquer la syntaxe pour soustraire des heures ?

ce que je souhaite c'est prendre l'heure du couché de soleil et l'avancer de 45 min donc - 45 min.

j'essaye avec ceci, mais il me retourne un problème de type :

MaVariable = fibaro:getValue(1, "sunsetHour") - "00:45"
pourtant je travaille bien avec que des string ?

Merci pour votre aide !!!

Cordialement,

JJacques68

Lien vers le commentaire
Partager sur d’autres sites

affiche la valeur de sunsethour dans un debug.

Je suis quasiment sûr q'il va te retourner un nombre unix (# nombre de secondes depuis le 1/1/1970).

ensuite tu retranche 45 min = 45*60 = 2700

Lien vers le commentaire
Partager sur d’autres sites

Oui, tu travailles bien avec des strings et le système ne sait pas si ce sont des choux ou des carottes.

Il va falloir écrire quelques lignes de code.

t = "10:40"
s = "01:25"
 
_, _, h1, m1 = string.find(t, "(%d+)%d+)")
 
_, _, h2, m2 = string.find(s, "(%d+)%d+)")
    
h = h1+h2
m = m1+m2
if m > 60 then
  h = h +1
  m = m-60
end

time = h..":"..m
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Pourquoi faire simple quand on peut faire compliquer... :)

Donc si j'ai bien compris, tu extrais les heures et minutes dans des variables distinctes.

Tu fais ton calcul, et tu recrées une chaîne de caractères.

Il ne faut pas utiliser àla fin : Time = tostring(h..":"..m) ??

Lien vers le commentaire
Partager sur d’autres sites

moi j'utilise un code tout simple :

num_day = 14

local Arrosage = {}
Arrosage.Last = os.time()
Arrosage.Next = Arrosage.Last + (num_day*24*60*60)

qui détermine Anorosage.Next à14 jours après Arrosage.Last

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...