Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Conversion minute au format 00

Réservé à la création de scénarios dans JEEDOM
Répondre
benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Conversion minute au format 00

Message par benj29 » 04 avr. 2019, 22:33

Hello,

Je cherche à afficher le coucher/lever sur mes tablettes.
Le fait d'utiliser un lever/coucher issu d'une météo me l'affiche au format XXYY.
De l'autre c'est plus pratique pour faire les calculs de décalage, donc pas de souci.

Mais pour l'affichage, j'ai donc un scénario de remise en forme.
Le truc regarde si heure sur 3 ou 4 digits et extrait par substr heure et minute.
Je reconstruis par variableX:variableY en fin.

Image

Mais mon problème est d'afficher un 7:08 correctement, donc toutes les minutes < 10.
Une idée comment faire cela ?
On peut caster une variable sur un format ?

Avatar de l’utilisateur
noodom
Actif
Messages : 982
Inscription : 13 juil. 2014, 17:25
Contact :

Re: Conversion minute au format 00

Message par noodom » 04 avr. 2019, 23:28

salut benj29,

ça correspond à ce que tu cherches ?

formatTime(time_op(708)) => 7h08

str_replace('h',':',formatTime(time_op(708))) => 7:08

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Conversion minute au format 00

Message par benj29 » 05 avr. 2019, 06:10

Pas mal. Merci !
Quelle usine à la fin

Envoyé de mon JSN-L21 en utilisant Tapatalk


Avatar de l’utilisateur
propositionjoe
Timide
Messages : 302
Inscription : 17 févr. 2016, 21:39
Contact :

Re: Conversion minute au format 00

Message par propositionjoe » 05 avr. 2019, 06:38

Salut Benj,

Je me permet de squatter ce fil pour ne pas multiplier les sujets,
Ma question étant dans le même domaine:

Comment faire une soustraction entre deux heures pour connaître la durée du jour:
Par exemple 2011 - 709 pour un résultat en minute?
Proxmox avec VM jeedom
Zigbee2mqtt, Broadlink, Zwave, Blea, Tasmotta, EspEasy
Mon blog: https://carmagnole.ovh

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: Conversion minute au format 00

Message par benj29 » 05 avr. 2019, 08:36

Waow lol. Le truc de rêve que tu demandes

Envoyé de mon JSN-L21 en utilisant Tapatalk


jpty
Timide
Messages : 333
Inscription : 01 juin 2018, 10:54
Localisation : Nancy

Re: Conversion minute au format 00

Message par jpty » 05 avr. 2019, 10:20

propositionjoe a écrit :
05 avr. 2019, 06:38
Comment faire une soustraction entre deux heures pour connaître la durée du jour:
Par exemple 2011 - 709 pour un résultat en minute?
Bonjour,
20 * 60 + 11 - 7 * 60 - 9 = 782 minutes ;) :)
Dans un bloc code en php, ça donnerait:

Code : Tout sélectionner

$lever = '709';
$coucher = '2011';
$mLever = substr($lever,-2);
$hLever = substr($lever,0,-2);
$mCoucher = substr($coucher,-2);
$hCoucher = substr($coucher,0,-2);
$duree = ($hCoucher - $hLever) * 60 + $mCoucher - $mLever;
echo $duree;
Sinon, le plugin heliotrope calcule la durée du jour.
Dernière édition par jpty le 05 avr. 2019, 11:01, édité 1 fois.

Avatar de l’utilisateur
noodom
Actif
Messages : 982
Inscription : 13 juil. 2014, 17:25
Contact :

Re: Conversion minute au format 00

Message par noodom » 05 avr. 2019, 10:52

Ahh.. Les joies de calcul de dates.. :D

@propositionjoe, un début de solution : je ne sais pas si tu récupères la date complète ou seulement les heures (dans ce cas, tu ajoutes une date bidon pour compléter)
  • Récupération des heures : floor(time_diff(2018-02-02 7:08:00,2018-02-02 20:11:00,m)/60
  • Récupération des minutes : time_diff(2018-02-02 7:08:00,2018-02-02 20:11:00,m)-floor(time_diff(2018-02-02 7:08:00,2018-02-02 20:11:00,m)/60)*60
Bon, il doit y avoir moins usine à gaz.. :lol:

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: Conversion minute au format 00

Message par Jeandhom » 05 avr. 2019, 11:05

noodom a écrit :
04 avr. 2019, 23:28
salut benj29,

ça correspond à ce que tu cherches ?

formatTime(time_op(708)) => 7h08

str_replace('h',':',formatTime(time_op(708))) => 7:08
Aussi

Code : Tout sélectionner

date('H\\Hi',mktime(substr(#time#,0,-2),substr(#time#,-2))
date('H:i',mktime(substr(#time#,0,-2),substr(#time#,-2))
Dernière édition par Jeandhom le 05 avr. 2019, 11:13, édité 1 fois.

jpty
Timide
Messages : 333
Inscription : 01 juin 2018, 10:54
Localisation : Nancy

Re: Conversion minute au format 00

Message par jpty » 05 avr. 2019, 11:06

noodom a écrit :
05 avr. 2019, 10:52
Bon, il doit y avoir moins usine à gaz.. :lol:

Code : Tout sélectionner

time_diff(2018-02-02 7:09:00,2018-02-02 20:11:00,m) 
suffit pour avoir la durée en minutes.

Avatar de l’utilisateur
noodom
Actif
Messages : 982
Inscription : 13 juil. 2014, 17:25
Contact :

Re: Conversion minute au format 00

Message par noodom » 05 avr. 2019, 11:20

Ah oui, j'avais mal lu, je pensais que @propositionjoe voulait un format du genre 13:03 :roll:

julien74
Timide
Messages : 213
Inscription : 02 déc. 2015, 15:11

Re: Conversion minute au format 00

Message par julien74 » 05 avr. 2019, 12:39

propositionjoe a écrit :
05 avr. 2019, 06:38
Salut Benj,

Je me permet de squatter ce fil pour ne pas multiplier les sujets,
Ma question étant dans le même domaine:

Comment faire une soustraction entre deux heures pour connaître la durée du jour:
Par exemple 2011 - 709 pour un résultat en minute?
(floor(2011/100)*60+2011%100) - (floor(709/100)*60+709%100)

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: Conversion minute au format 00

Message par Jeandhom » 05 avr. 2019, 14:34

Jeandhom a écrit :
05 avr. 2019, 11:05
noodom a écrit :
04 avr. 2019, 23:28
salut benj29,

ça correspond à ce que tu cherches ?

formatTime(time_op(708)) => 7h08

str_replace('h',':',formatTime(time_op(708))) => 7:08
Aussi

Code : Tout sélectionner

date('H\\Hi',mktime(substr(#time#,0,-2),substr(#time#,-2))
date('H:i',mktime(substr(#time#,0,-2),substr(#time#,-2))
En utilisant les formules de julien74

Code : Tout sélectionner

date('H\\Hi',mktime(floor(#time#/100),#time#%100)
ou
date('H:i',mktime(floor(#time#/100),#time#%100)

Avatar de l’utilisateur
propositionjoe
Timide
Messages : 302
Inscription : 17 févr. 2016, 21:39
Contact :

Re: Conversion minute au format 00

Message par propositionjoe » 05 avr. 2019, 21:36

Salut,

Et waouh le nombre de réponse, merci.

Mais j'aurai du être plus précis:
En fait j'utilise déjà deux formules pour avoir le lever et le coucher du soleil (que j'ai piqué ici)
Lever du soleil : date_sunrise(#timestamp# ,1, <votre latitude>, <votre longitude>, 90+35/60, date("Z",#timestamp#)/3600)
Coucher du soleil : date_sunset(#timestamp# ,1, <votre latitude>, <votre longitude>, 90+35/60, date("Z",#timestamp#)/3600)

Vos réponses m'ont conduit à trouver ça:
gmdate("H:i",strtotime(#[Général][general--jour-nuit][Coucher du Soleil]#) - strtotime(#[Général][general--jour-nuit][Lever du Soleil]#))

Me reste à convertir ça en minute, y a une solution?
Proxmox avec VM jeedom
Zigbee2mqtt, Broadlink, Zwave, Blea, Tasmotta, EspEasy
Mon blog: https://carmagnole.ovh


Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: Conversion minute au format 00

Message par Jeandhom » 05 avr. 2019, 21:54

propositionjoe a écrit :
05 avr. 2019, 21:36
Salut,

Et waouh le nombre de réponse, merci.

Mais j'aurai du être plus précis:
En fait j'utilise déjà deux formules pour avoir le lever et le coucher du soleil (que j'ai piqué ici)
Lever du soleil : date_sunrise(#timestamp# ,1, <votre latitude>, <votre longitude>, 90+35/60, date("Z",#timestamp#)/3600)
Coucher du soleil : date_sunset(#timestamp# ,1, <votre latitude>, <votre longitude>, 90+35/60, date("Z",#timestamp#)/3600)

Vos réponses m'ont conduit à trouver ça:
gmdate("H:i",strtotime(#[Général][general--jour-nuit][Coucher du Soleil]#) - strtotime(#[Général][general--jour-nuit][Lever du Soleil]#))

Me reste à convertir ça en minute, y a une solution?

Code : Tout sélectionner

(strtotime(#[Général][general--jour-nuit][Coucher du Soleil]#) - strtotime(#[Général][general--jour-nuit][Lever du Soleil]#))/60

Avatar de l’utilisateur
propositionjoe
Timide
Messages : 302
Inscription : 17 févr. 2016, 21:39
Contact :

Re: Conversion minute au format 00

Message par propositionjoe » 06 avr. 2019, 09:30

Et bien merci
:)

Image
Proxmox avec VM jeedom
Zigbee2mqtt, Broadlink, Zwave, Blea, Tasmotta, EspEasy
Mon blog: https://carmagnole.ovh

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité