NEWS
[Vorlage] Blockly Umrechnung von Sekunden in Stunden, Minuten und Sekunden
-
Ein Tag hat 86400 Sekunden… 24h * 60Min * 60Sek
Also ergibt Sekunden geteilt durch 86400 die Anzahl der Tage
Hier in dem Beispiel: 453786/86400=5,25...
In dem Beispiel haben wir 5 Tage a' 86400 Sekunden
Die 186Sek ergeben, das kann man im Kopf, 3 Minuten und 6 Sekunden...
Vorlage03 mit Tagen.jpg `
Besten dank UweRLP!
ich habe es am WE Probiert…
~~![](</s><URL url=)<link_text text="download/file.php?mode=view&id=30321">https://forum.iobroker.net/download/file.php?mode=view&id=30321</link_text>" />
nicht besonders erfolgreich. Benutze jetzt deine Vorlage DANKE!
Gruß
Paul~~
5219_zeit.jpg -
Hi
Wie wurde das gelöst ?. Bräuchte das selber auch für meine An/Abwesenheits erkennung, momentan gebe ich Minuten an würde diese aber gerne zb so darstellen 00T 05H 10M bzw 01T 10 H 25M
LG
-
Hab jetzt kein Blocky zur verfügung, daher allgemein
Tage = ganzzahl (sec_original/(24x60x60))
Sec_neu = sec_alt - (Tage x 24x60x60)
Stunden = ganzzahl (sec_neu/(60x60))
Usw.
-
Hi
Danke eig. verstanden, wie bekomme ich mit blockly die ganzzahl hin wenn ich zB die Tage ausrechne kommt zB "3,546527777777778" heraus.
lg
-
Bei Mathematik /runden kannst Du auf abrunden umstellen. Zumindest bei positiven Zahlen muß das integer/Ganzzahl entsprechen.
-
HI, kann es sein das in dem Beitrag ein paar Posts fehlen? Ich finde die Vorlage nicht. Wie ich aus Sekunden Tage stunden usw mache ist mir rechnerisch klar. Aber im Blockly muss ich doch irgendwie mit Zählern arbeiten um das richtig darzustellen oder?
Also wenn Sekunde 60+ dann erhöhe Minute um eins usw. -
@Fuga
Schau dir mal diesen Beitrag an, da habe ich einen Blockly-Vorlage gepostet wo die Umrechnung von Millisekunden in Tage,Stunden,Minuten und Sekunden enthalten ist. Vieleicht hilt dir das weiter. -
@t-master Klasse dank dir. Funktioniert super.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="r)M)J`L2gdR+-rjVpLQA">Dauer</variable> <variable type="" id="moxiY#/V659kTQ}a:eJ[">tage</variable> <variable type="" id="kE/kiClb=y?}6)j?_-_R">std</variable> <variable type="" id="F..#nc_!4s(/0NkG7Dzk">min</variable> <variable type="" id="DRJ.iVA5f}kG0snR{]c|">sec</variable> </variables> <block type="on" id="G+naKWg/?aO.iY}4H:fn" x="-112" y="137"> <field name="OID">modbus.0.inputRegisters.30541_Betriebszeit</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="ioolV*0*~aK99._xGf4i"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> <value name="VALUE"> <block type="get_value" id="Rz+qr_iam{A)^!_ud}E#"> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30541_Betriebszeit</field> </block> </value> <next> <block type="variables_set" id="d#Mf%Vp1N]rbGTAqMJ1%"> <field name="VAR" id="moxiY#/V659kTQ}a:eJ[" variabletype="">tage</field> <value name="VALUE"> <block type="math_round" id="kl^`w62qML7NfK6obI)R"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="9?PDN?vq0I(1J0/t@VTk"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="Vq4e$#!w=`xg_}Su1.ED"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="dtfN1M%5RNb0]xbUEm:R"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="P2DL%-5VMuQs8M.vDPhQ"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="xN73Vg#|I~62Ed=PUT%^"> <field name="NUM">86400</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="XzKStL$rv+783U;lrI1]"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> <value name="VALUE"> <block type="math_arithmetic" id="@PeJ}u3X):vUjeEbh}b!"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vZXOD9^Cw`KiCMM5BUbH"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="rYu:XuWA=@c.X[oR~2QX"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="5+De(qT}`Jjl^O;@eM5n"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="[=RIpUA6gN7kz_Q7;K9*"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="D[UXt!BH2NGCqR?Q|UiO"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="R-1S]-Y`CW]Ug]ZZf)]!"> <field name="VAR" id="moxiY#/V659kTQ}a:eJ[" variabletype="">tage</field> </block> </value> <value name="B"> <shadow type="math_number" id="962lAEL@@9*Z{v)YClgt"> <field name="NUM">86400</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="4}N56*i%8!#K?;dkAaYf"> <field name="VAR" id="kE/kiClb=y?}6)j?_-_R" variabletype="">std</field> <value name="VALUE"> <block type="math_round" id="i_ICM,.fM!CQOVV+#;~G"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="9?PDN?vq0I(1J0/t@VTk"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="|=g9W]nda)Y)2k/[Wv_="> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="dtfN1M%5RNb0]xbUEm:R"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="3n^zkm.#vR+K0H6t4UM_"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="N`]ykTeeI#)Hf$%e]L2!"> <field name="NUM">3600</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="h/81*9P*8[4VR,|Y/l[/"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> <value name="VALUE"> <block type="math_arithmetic" id="CfGZ4A5O~064DV0BtM.u"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vZXOD9^Cw`KiCMM5BUbH"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="WS(P/bX7d^ul}?60y)qY"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="5+De(qT}`Jjl^O;@eM5n"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="i}+8JL_Q#0S}Vl#t-Ke3"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="D[UXt!BH2NGCqR?Q|UiO"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="?bB0b4ITZD7):P/T1jKh"> <field name="VAR" id="kE/kiClb=y?}6)j?_-_R" variabletype="">std</field> </block> </value> <value name="B"> <shadow type="math_number" id=",;(Ox_#1$7=rTId$yc/["> <field name="NUM">3600</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="mi|Nsm(ddYqrJk$i-`|#"> <field name="VAR" id="F..#nc_!4s(/0NkG7Dzk" variabletype="">min</field> <value name="VALUE"> <block type="math_round" id="E$./CjOLf~Yz!Ti6iR_D"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="9?PDN?vq0I(1J0/t@VTk"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="n7z]@zr[x6NHv3OU*e9*"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="dtfN1M%5RNb0]xbUEm:R"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="HzzXG8yC)eLfjq|H~v3;"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="uem@3Cu$;SXmgtnx-#P6"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=".aKU3yi6Vn}Q}8h{O;sl"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> <value name="VALUE"> <block type="math_arithmetic" id="%%%KFqfG)8ex=|_VKxy^"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vZXOD9^Cw`KiCMM5BUbH"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="+DL#x{a]cSnzG6V;=dK1"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="5+De(qT}`Jjl^O;@eM5n"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="pN|DbN#YE,WTL-}C,n0|"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="D[UXt!BH2NGCqR?Q|UiO"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="==;p=)Y`/E0ocGx$e(WM"> <field name="VAR" id="F..#nc_!4s(/0NkG7Dzk" variabletype="">min</field> </block> </value> <value name="B"> <shadow type="math_number" id="j@2_L0kpv^S%`n0TR7~v"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="{qDt~P^xXdlUYMEJ/JN{"> <field name="VAR" id="DRJ.iVA5f}kG0snR{]c|" variabletype="">sec</field> <value name="VALUE"> <block type="math_round" id="DEX*kqOIekO!tF;KFU:i"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="9?PDN?vq0I(1J0/t@VTk"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="[@!2`6uwcXC0Jl1}*fde"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="dtfN1M%5RNb0]xbUEm:R"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="AT^9^[wo;G$VGKTgabU:"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="9@OD[Q0RL7.#0B6M$?d8"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="control" id="7HfM6x`@DGG2)WpoYAg0"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Betriebszeitsolar</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id=":r_DP)dXj@Jv~7?yyyK_"> <mutation items="8"></mutation> <value name="ADD0"> <block type="variables_get" id="!EZopb^xh[~,gG@4W1,w"> <field name="VAR" id="moxiY#/V659kTQ}a:eJ[" variabletype="">tage</field> </block> </value> <value name="ADD1"> <block type="text" id="+h^zTHY7^I!hRy7N0WNH"> <field name="TEXT"> Tage </field> </block> </value> <value name="ADD2"> <block type="variables_get" id="sOY$z$z[]a=/h+V@Uz2H"> <field name="VAR" id="kE/kiClb=y?}6)j?_-_R" variabletype="">std</field> </block> </value> <value name="ADD3"> <block type="text" id=")lj,hPOWg~tF(AEaY-wB"> <field name="TEXT"> Stunden </field> </block> </value> <value name="ADD4"> <block type="variables_get" id="JBAVOqF#j#wA#5hA%X4q"> <field name="VAR" id="F..#nc_!4s(/0NkG7Dzk" variabletype="">min</field> </block> </value> <value name="ADD5"> <block type="text" id="!IyHG|A%`h(?iFXz+O^A"> <field name="TEXT"> Minuten </field> </block> </value> <value name="ADD6"> <block type="variables_get" id="naIdEV$uD!hEu`d/Rcno"> <field name="VAR" id="DRJ.iVA5f}kG0snR{]c|" variabletype="">sec</field> </block> </value> <value name="ADD7"> <block type="text" id="o)$!!Z38,;4;O5tR|7,i"> <field name="TEXT"> Sekunden</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
sorry löschen
-
@Fuga sagte in [Vorlage] Blockly Umrechnung von Sekunden in Stunden, Minuten und Sekunden:
HI, kann es sein das in dem Beitrag ein paar Posts fehlen? Ich finde die Vorlage nicht.
Hier die Vorlagen...
Ein Tag hat 86400 Sekunden... 24h * 60Min * 60Sek
Also ergibt Sek geteilt durch 86400 die Anzahl der Tage
Hier in dem Beispiel: 453786/86400=5,25...
In dem Beispiel haben wir 5 Tage a' 86400 Sekunden
Nun benötigen wir den Rest der Sekunden die nicht für Tage drauf gegangen sind und rechnen diese in Stunden um.
Also: 453786Sek-586400Sek=21786Sek Rest (man beachte Punkt vor Strich)
Die 21786Sek werden nun in Stunden verrechnet.
Eine Stunde hat 3600 Sekunden 60Min * 60Sek
Also: 21786/3600=6,05...
Haben wir schon mal 5 Tage und 6 Stunden.
So nun die Minuten, sicher wirst du jetzt sage Rest aus 5 Tage und 6 Stunden - stimmt
Also: 453786Sek-586400Sek-63600Sek=186Sek
Aber ich bin Faul und warum so viel rechnen und klicken und tippen dafür haben wir Computer
Für die Minutenrechnung langt es auch wenn ich alle Sekunden in Stunden umrechne und den Rest für Minuten verrechne.
Hat was mit kürzen und so zu tun...
Also: 453786Sek/3600Sek=126,05...
453786Sek-3600Sek126=186Sek
Die 186Sek ergeben, das kann man im Kopf, 3 Minuten und 6 Sekunden... -
@UweRLP
Deine Überlegungen sind richtig, aber dein Blockly enthält Fehler.
Ich habe das Blockly nachgebaut und kam nicht zum richtigen Ergebnis drum mal hier mein geändertes Blockly.
-
@t-master Nunja ich erhalte sowohl mit deinem wie auch mit meinem Beispiel die gleichen Ergebnisse, vermute daher das beim Nachbau etwas falsch gelaufen ist.
-
@UweRLP
Ja hast recht, ich habe meinen Fehler gefunden. Jetzt erhalte ich auch die gleichen richtigen Ergebnisse. -
Hallo zusammen,
ich bin gerade dabei einen Minutenwert in Tage, Stunden und Minuten umzurechnen in Anlehnung an dieses Blockly hier. Leider klappt es bei mir nicht wie gewünscht.
Könntet ihr mal drüberschauen warum das nicht hinhaut? Danke schon mal.
-
@t-master said in [Vorlage] Blockly Umrechnung von Sekunden in Stunden, Minuten und Sekunden:
@UweRLP
Ja hast recht, ich habe meinen Fehler gefunden. Jetzt erhalte ich auch die gleichen richtigen Ergebnisse.@t-master said in [Vorlage] Blockly Umrechnung von Sekunden in Stunden, Minuten und Sekunden:
@UweRLP
Ja hast recht, ich habe meinen Fehler gefunden. Jetzt erhalte ich auch die gleichen richtigen Ergebnisse. -
Nette Vorlage, gibt es noch die Möglichkeit die Minuten auf 2-stellig umzuwandeln (wenn 0-9 Minuten) wird es halt nicht als 01 usw. dargestellt. Wäre nur so ne Idee zum "perfekten" umsetzen.
-
@x-r4y Ich versuche mal zu erklären.
Die Zahl in String wandeln, dem String eine 0 voransetzen dann von Recht zwei stellen aus diesem String.