NEWS
Blockly Zeit umwandeln
-
Kann mir jemand erklären, warum bei diesem Skript einmal 110 Minuten (korrekt), und einmal 02:50 (falsch) herauskommt?
-
@warp-it
DateTime it keine Zeitspanne, sondern ein Objekt (ein Zeitpunkt). Und da schlägt die Zeitzone zu.Im ersten Versuch rechnest Du die Differenz zwischen 2 Zeiten aus und rechnest das Ergebnis in Minuten um.
Alle OK.Im zweiten Versuch berechnest Du ein komplett neues Datum und lässt Dir dessen Uhrzeit anzeigen.
Wäre Deine Differenz hier > 24 Std. würdest Du das mit dieser Formatierung gar nicht erkennen. -
@warp-it Leider ist das Wording bei Blockly nicht optimal.
Date Object / Datum-Objekt
liefert immer das Ergebnis vongetTime()
zurück. Also ein numerischen Wert und kein Objekt. Daher kannst Du richtigerweise damit rechnen.Allerdings brauchst das nicht 2x hin und her konvertieren.
to Date/Time "10:00"
liefert Dir ja schon den Zeitstempel. Die Differenz wäre bei Dir ja6600000
ms. Also6600
Sekunden oder110
Minuten.Das Problem liegt am Ende. Du gibst als Zeitstempel für ein neues Datum ja den Timestamp in UTC an. Und
6600000
ist also der1970.01.01 01:50:00
. Allerdings auch in UTC. Jetzt rechnet dir der Baustein das in deine Zeitzone um (UTC+1 aktuell) =02:50 Uhr
. Das ist also eine Uhrzeit und keine Differenz in StundenSiehe auch:
-
@haus-automatisierung @Codierknecht
Vielen Dank, jetzt habe ich es gerafft.