Aller au contenu
flamalex

Help!! comparer/mesurer l’écart entre 2 dates/time

Recommended Posts

Il y a 12 heures, jjacques68 a dit :

c'est un peu l'usine à gaz oui, j'avoue ne pas tout saisir,

je prends ce que tu me donnes en passant :) 

l'essentiel est de faire marcher comme tu veux.

après on pourra rendre le code plus propre :)

:2: oui c'est clair et c'est déjà Top :60:

REPORTING_ARROSAGE (1).vfib

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à tous,

Dans un VD j'essaye de calculer la différence de temps (en jours) entre 2 dates.

N'étant pas du métier, cela est très difficile pour moi, je me suis donc penché sur votre VD pour essayer de récupérer une partie de votre code.

MAIS, je n'arrive pas à avoir la différence en jours ? (j'ai certainement fait une erreur)

local date_actuelle = os.time()
fibaro:debug('date_actuelle= ' ..date_actuelle)
       

local date1 = tonumber "17/06/2020" 
    fibaro:debug('date1= ' ..date1)
         
local diff_des_2_dates = os.difftime (date_actuelle, date1)
fibaro:debug(diff_des_2_dates/(24*60*60).." jour(s)")

Merci pour votre aide

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

tu le retrouves dans mon VD

puisque je compare les dates « aujourd’hui - date de la dernière pluie = nbr de jour passés sans pluie »

 

alors oui ça ne plaira pas à tt le monde pcq tu auras des « , » exemple 5,66jrs passés sans pluie mais il faut comprendre l’interet, dans mon cas, c’est de matcher une consigne (exemple 5jrs) avec le temps ecoulé entre 2 dates pour etre traité par programme sans intervention humaine

d’ou mon VD « de supervision » dans lequel on ne va jamais :) 

rdv ici pour le VD complet

 

 

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @flamalex

J'avais bien vu le sujet, d'ou mon intérêt :2:

Mais j'ai un souci, j'ai recopié ton code MAIS j'ajoute la date time_last_rain en manuel

--Insere la date dans time_last_rain en manuel
fibaro:setGlobal('time_last_rain', "17/06/2020")

local date_derniere_pluie = tonumber(fibaro:getGlobalValue("time_last_rain"))
local ma_date_en_toute_lettre = os.date("%d/%m/%Y - %H:%M:%S",date_derniere_pluie)
fibaro:debug(ma_date_en_toute_lettre)
--fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LastRain.value", ma_date_en_toute_lettre)
--------------------------
-- on mesure la difference entre 2 dates
print ("date derniere pluie")  
local date_derniere_pluie = tonumber(fibaro:getGlobalValue("time_last_rain"))
fibaro:debug(os.date("%d/%m/%Y - %H:%M:%S",date_derniere_pluie))
  
print ("date actuelle")  
local date_actuelle = os.time()  
fibaro:debug(os.date("%d/%m/%Y - %H:%M:%S",date_actuelle))  
   
print ("diff_des_2_dates")
local diff_des_2_dates = os.difftime (date_actuelle, date_derniere_pluie)
fibaro:debug(diff_des_2_dates/(24*60*60).." jour(s)")
local difference_jr = diff_des_2_dates/(24*60*60)
fibaro:setGlobal('difference_jr', difference_jr)
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lbtpsecoule.value", diff_des_2_dates /(24*60*60).." jour(s)")

fibaro:debug(ma_date_en_toute_lettre) j'ai 01/01/1970, je pense que mon problème vient de la....

Partager ce message


Lien à poster
Partager sur d’autres sites

ca doit etre un probleme de comparaison 

attention: je compare date heure minute avec date heure minute

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @flamalex

Je pense que le problème est ici:

--Insere la date dans time_last_rain en manuel
fibaro:setGlobal('time_last_rain', "17/06/2020")

MAIS comment faire pour introduire la valeur dans  'time_last_rain' en manuel ?

une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

os.time() retourne un temps en secondes écoulé depuis le 1er janvier 1970 à minuit.

 

Je te suggère d'essayer :

fibaro:setGlobal('time_last_rain', os.time{year=2020, month=6, day=17, hour=0})

cf.la doc Lua pour mieux comprendre...

Partager ce message


Lien à poster
Partager sur d’autres sites

×