flamalex Posté(e) le 17 avril 2020 Auteur Signaler Posté(e) le 17 avril 2020 (modifié) 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 oui c'est clair et c'est déjà Top REPORTING_ARROSAGE (1).vfib Modifié le 18 avril 2020 par flamalex
Ghoosti Posté(e) le 22 juin 2020 Signaler Posté(e) le 22 juin 2020 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
flamalex Posté(e) le 22 juin 2020 Auteur Signaler Posté(e) le 22 juin 2020 (modifié) 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é le 22 juin 2020 par flamalex
Ghoosti Posté(e) le 22 juin 2020 Signaler Posté(e) le 22 juin 2020 Salut @flamalex J'avais bien vu le sujet, d'ou mon intérêt 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....
flamalex Posté(e) le 23 juin 2020 Auteur Signaler Posté(e) le 23 juin 2020 ca doit etre un probleme de comparaison attention: je compare date heure minute avec date heure minute
Ghoosti Posté(e) le 23 juin 2020 Signaler Posté(e) le 23 juin 2020 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 ?
Barelle Posté(e) le 23 juin 2020 Signaler Posté(e) le 23 juin 2020 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...
Ghoosti Posté(e) le 23 juin 2020 Signaler Posté(e) le 23 juin 2020 Salut @Barelle Super, impec, ça fonctionne maintenant.
Messages recommandés