NEWS
Fehlerhafte Implementierung von formatDate?
-
Hallo zusammen,
ich versuche gerade eine Zeitdifferenz anzeigen zu lassen. Dabei stieß ich auf folgenden (Denk?)-Fehler:
bzw.
console.warn((['Test: ',formatDate(getDateObject(3601000), "hh:mm:ss.sss"),' h (erwartet: 01:00:01.000 h)'].join(''))); console.warn((['Test: ',formatDate(getDateObject(1000), "hh:mm:ss.sss"),' h (erwartet: 00:00:01.000 h)'].join(''))); console.warn((['Aktuelle Uhrzeit: ',formatDate(getDateObject((new Date().getTime())), "SS:mm:ss.sss"),' h'].join('')));
Ergebnis:
Mache ich da einen Denkfehler oder ist die Implementierung von formatDate inkorrekt?
Oder liegt das ggf. an Zeitzonen?
Wenn ich von den 1000 3600000 subtrahiere bekomme ich mit
Falls das kein Bug ist: Hat einer eine Idee, wie ich das Problem beheben kann, außer immer zu prüfen, ob wir uns in Sommer- oder Winterzeit befinden und entsprechend meine Zeitdifferenz anders zu berechnen?
Falls es ein Bug ist, bitte ins Bug-Unterforum verschieben.
-
@tjaden sagte in Fehlerhafte Implementierung von formatDate?:
Oder liegt das ggf. an Zeitzonen?
Schau nach mit :
iob diag
da steht dann alles dazu drin
-
Das liegt an der Zeitzone - Zählung beginnt 1.1.1970 0:0:0 UTC
javascript.0 (616) script.js.Test.Skript_12: 0:00:36.000
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="V5r^pS+[O[Gz)OS{0D]U">Liste</variable> <variable id="/~z$K4;7_rWFxkP?uAsE">Text</variable> </variables> <block type="variables_set" id="xtcT5zeSAaTQqwkZg[p-" x="-887" y="1738"> <field name="VAR" id="V5r^pS+[O[Gz)OS{0D]U">Liste</field> <value name="VALUE"> <block type="lists_split" id="n%keh!K:@@OBH+EkLI]v"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="convert_from_date" id="CvneZ~T.M_~5r|?@RC=5"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss.sss</field> <value name="VALUE"> <block type="math_number" id="$QPp_beI:borjO_[;bJJ"> <field name="NUM">36000</field> </block> </value> </block> </value> <value name="DELIM"> <shadow type="text" id="{$~3v;hg6!of4ddq3!3q"> <field name="TEXT">:</field> </shadow> </value> </block> </value> <next> <block type="lists_setIndex" id="$26~g{nYxx=]X*M=X93w"> <mutation at="false"></mutation> <field name="MODE">SET</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="Q$%8}MGN?]F-(s3BddGE"> <field name="VAR" id="V5r^pS+[O[Gz)OS{0D]U">Liste</field> </block> </value> <value name="TO"> <block type="math_arithmetic" id="!*:Gx8wGYSUw``[h/Cm-"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="G$2k9M6bG9xG4;M2xnSQ"> <field name="NUM">1</field> </shadow> <block type="convert_from_date" id="])s%{11GT7WON5S$Fa)i"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">h</field> <value name="VALUE"> <block type="math_number" id="/6uug?Mz0.VB{0jN^63e"> <field name="NUM">36000</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="*}S|B8v,(vI7]3cyTQ$?"> <field name="NUM">1</field> </shadow> <block type="convert_from_date" id="zWl~5)w)FVRF(:u$(P6U"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">h</field> <value name="VALUE"> <block type="math_number" id="VEE3;kgxSsMsTdZmSR%^"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="J5J0IrhZZ@h1}Mm-U3dR"> <field name="VAR" id="/~z$K4;7_rWFxkP?uAsE">Text</field> <value name="VALUE"> <block type="lists_split" id="~,wnDo(73a)@=7|pp=6+"> <mutation mode="JOIN"></mutation> <field name="MODE">JOIN</field> <value name="INPUT"> <block type="variables_get" id="O_fk.v)bX(MgC4W#E=fi"> <field name="VAR" id="V5r^pS+[O[Gz)OS{0D]U">Liste</field> </block> </value> <value name="DELIM"> <shadow type="text" id="1q_VeRH%80lMV!}%LgHE"> <field name="TEXT">:</field> </shadow> </value> </block> </value> <next> <block type="debug" id="^_Xp~Rl+15uepHnm0SPg"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="fwN%i.7D={UKnGc,pGRi"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="YU+Zv]LXy1W^MFdE%-LA"> <field name="VAR" id="/~z$K4;7_rWFxkP?uAsE">Text</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@ticaki Ah gut (oder schlecht, wie man's nimmt), dann lag ich mit meiner Vermutung nicht so falsch.
Danke für das Skript!
-
Was ein glück das ich mich so gut mit Blockly auskenne...<ironie off> das da oben war arbeit - wieso einfach wenns auch kompliziert geht gell
-
@ticaki Jetzt bin ich verwirrt – ist "Zeitdifferenz formatieren" eine Funktion von dir und/oder ist sie in Blockly vorhanden? Denn da hatte ich ausgiebig gesucht, aber eine solche Funktion nicht gefunden:
-
https://github.com/ioBroker/ioBroker.javascript/releases/tag/v7.2.0
Ist noch nicht im stable. v7.2.0 aktuell ist stable 7.1.6. Musste @haus-automatisierung ganz lieb fragen
-
@tjaden sagte in Fehlerhafte Implementierung von formatDate?:
Denn da hatte ich ausgiebig gesucht, aber eine solche Funktion nicht gefunden:
Liegt an deiner Javascript Version ... ist in der Beta vorhanden
-
Okay, dann hab ich jetzt einen Work-Around und darf der Implementierung entgegensehen. Danke!
Da ich hier am Live-System arbeite, nutze ich ungerne Beta-Versionen oder Release-Candidates
Ich wünsche euch schon mal einen guten Rutsch!
-
@tjaden Hier die Erklärung zu Deinem Denkfehler in ausführlicher: https://youtu.be/sxkz3O6nfFQ