NEWS
[gelöst] Minuten in Tage, Stunden und Minuten anzeigen
-
Hallo.
Ich habe einen State der hat einen Minutenwert.
In VIS habe ich dann ein Basic-HTML worin folgendes steht:{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) : 0} Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.Damit wird mir der Minutenwert dann in Stunden und Minuten angezeigt wird. Das funktioniert soweit auch ganz gut.
Wenn allerdings mehr als 24 Stunden vergangen sind, dann sollten auch die Tage angezeigt werden.Wie kann ich das jetzt erweitern?
-
Hat niemand eine Lösung wie ich einen Datenpunkt der Minuten enthält, in der VIS dann in Tage, Stunden und Minuten anzeigen kann ?
@manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) - (parseInt(parseFloat(v)%(1440))*24) : 0} Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min. -
@manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) - (parseInt(parseFloat(v)%(1440))*24) : 0} Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.@mickym sagte in Minuten in Tage, Stunden und Minuten anzeigen:
@manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) : 0} Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min....wollt ich gerade auch schreiben :slightly_smiling_face: ....
-
@mickym sagte in Minuten in Tage, Stunden und Minuten anzeigen:
@manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) : 0} Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min....wollt ich gerade auch schreiben :slightly_smiling_face: ....
@villarriba Wobei ganz stimmt es nicht weil er bei den Stunden noch die Tage abziehen muss. - Habs gerade versucht zu editieren - hoffe ich hab mich mit den Klammern nicht vertan.
-
@villarriba Wobei ganz stimmt es nicht weil er bei den Stunden noch die Tage abziehen muss. - Habs gerade versucht zu editieren - hoffe ich hab mich mit den Klammern nicht vertan.
@mickym
..den Rest der Tage noch mal durch 60, vielleicht?!{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? (parseInt(parseFloat(v)%(1440))/60) : 0} Std.
{v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min. -
@manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) - (parseInt(parseFloat(v)%(1440))*24) : 0} Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min. -
@mickym
Hallo das funktioniert nicht. der Datenpunkt hat 4681 Minuten. In der VIS wird mir dann angezeigt: "361 Tage -8663 Std. 1 min"@manfredh-1
...ich hab das mal in einem blockly aufgelöst...
sind bei mir 3 Tage 6 Stunden und eine Minute....var minuten, tage, h, m; minuten = 4681; tage = Math.round(parseFloat(minuten) / 1440); h = Math.round(parseFloat((minuten % 1440)) / 60); m = minuten % 60; console.log(([tage,' Tage, ',h,' Stunden, ',m,' Minuten'].join(''))); -
@manfredh-1
...ich hab das mal in einem blockly aufgelöst...
sind bei mir 3 Tage 6 Stunden und eine Minute....var minuten, tage, h, m; minuten = 4681; tage = Math.round(parseFloat(minuten) / 1440); h = Math.round(parseFloat((minuten % 1440)) / 60); m = minuten % 60; console.log(([tage,' Tage, ',h,' Stunden, ',m,' Minuten'].join('')));@villarriba
So habe ich das auch errechnet. -
@manfredh-1
...ich hab das mal in einem blockly aufgelöst...
sind bei mir 3 Tage 6 Stunden und eine Minute....var minuten, tage, h, m; minuten = 4681; tage = Math.round(parseFloat(minuten) / 1440); h = Math.round(parseFloat((minuten % 1440)) / 60); m = minuten % 60; console.log(([tage,' Tage, ',h,' Stunden, ',m,' Minuten'].join('')));@villarriba
ja im javascript hab ich es auch probiert da wandelt er die Minuten vom Datenpunkt richtig um.
Aber in der VIS geht das nicht. -
@villarriba
ja im javascript hab ich es auch probiert da wandelt er die Minuten vom Datenpunkt richtig um.
Aber in der VIS geht das nicht. -
So ich denke ich habs - habe auf die Schnelle statt Division dieses Modulo verwendet:
so müsste es gehen:
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v) / 1440) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt((parseFloat(v) % 1440) / 60) : 0 } Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.
EDIT: Verbessert - manchmal muss ich mich selbst erst über Umwege rantasten.
-
So ich denke ich habs - habe auf die Schnelle statt Division dieses Modulo verwendet:
so müsste es gehen:
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v) / 1440) : 0} Tage {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt((parseFloat(v) % 1440) / 60) : 0 } Std. {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.
EDIT: Verbessert - manchmal muss ich mich selbst erst über Umwege rantasten.
-
@tt-tom Jo da hab ich es aber lassen - aber sollte auch komplett ohne gehen:
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseFloat(v) % 60 } min. -
@tt-tom Jo da hab ich es aber lassen - aber sollte auch komplett ohne gehen:
{v:0_userdata.0.Haussteuerung.Zutritt_seit; parseFloat(v) % 60 } min.