Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Rechenfehler bei "Zeitstempel"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Rechenfehler bei "Zeitstempel"

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      GombersIOB @paul53 last edited by GombersIOB

      @paul53 said in Rechenfehler bei "Zeitstempel":

      Die Formatierung nach "SS:mm:ss" berücksichtigt die Zeitzone, ist also für Zeitdifferenzen nicht geeignet.

      Ich habe das auch gedacht. Aber jetzt habe ich mir folgendes Script geschrieben und dieses Ergebnis erhalten:

      68a36657-5e48-481f-ba50-c03ba31aec5d-grafik.png

      22:04:14.572	info	javascript.0 (1670) Stop script script.js.Zeitstempel
      22:04:14.631	info	javascript.0 (1670) Start javascript script.js.Zeitstempel
      22:04:14.633	info	javascript.0 (1670) script.js.Zeitstempel: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      22:04:14.633	info	javascript.0 (1670) script.js.Zeitstempel: jetzt: 04.04.2023 - 22:04:14
      22:04:14.633	info	javascript.0 (1670) script.js.Zeitstempel: war: 20.03.2023 - 22:00:00
      22:04:14.633	info	javascript.0 (1670) script.js.Zeitstempel: 22:04:14 22:00:00 00:04:14
      

      Der 20.3. war noch Winterzeit und jetzt haben wir Sommerzeit. (habs jetzt nochmal korrigiert, mit dem richtigen Jahr drin)

      Das Script als ladbares XML:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="w*]R_0W0$LWQbxQQWUqR">jetzt</variable>
          <variable id=".tl$sA#dc}OTbnTq5%d|">war</variable>
        </variables>
        <block type="variables_set" id="ioY?^NzPWQ8lgiuVMPkP" x="588" y="13">
          <field name="VAR" id="w*]R_0W0$LWQbxQQWUqR">jetzt</field>
          <value name="VALUE">
            <block type="convert_to_date" id="%5tchnvtHf9|-p2[ZC@T">
              <value name="VALUE">
                <block type="procedures_callcustomreturn" id="ax7nC?-p7+8Pq;J4TMX*">
                  <mutation name="jetzt"></mutation>
                </block>
              </value>
            </block>
          </value>
          <next>
            <block type="debug" id="3Cq^4jL7!+cxxYZxHex6">
              <field name="Severity">log</field>
              <value name="TEXT">
                <shadow type="text" id="Mbj!W^Jxvi@3QnX3k5lf">
                  <field name="TEXT">test</field>
                </shadow>
                <block type="text_join" id=";ZAwaYmmhFmPW|507[CC">
                  <mutation items="4"></mutation>
                  <value name="ADD0">
                    <block type="text" id="+a!k0thxyU~T:O]lEt_H">
                      <field name="TEXT">jetzt: </field>
                    </block>
                  </value>
                  <value name="ADD1">
                    <block type="convert_from_date" id="4K~073?!A6pi/t9JiV:C">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                      <field name="OPTION">DD.MM.YYYY</field>
                      <value name="VALUE">
                        <block type="variables_get" id="5q{$:)5=iU(cAaJ-KK3y">
                          <field name="VAR" id="w*]R_0W0$LWQbxQQWUqR">jetzt</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="ADD2">
                    <block type="text" id="!J_mo[+,Sp|+#PU|-4w{">
                      <field name="TEXT"> - </field>
                    </block>
                  </value>
                  <value name="ADD3">
                    <block type="convert_from_date" id="TrWlvpP(iqUcy|/{t]Rm">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                      <field name="OPTION">hh:mm:ss</field>
                      <value name="VALUE">
                        <block type="variables_get" id="?OiD!}Hq:?v3PK#y@;mk">
                          <field name="VAR" id="w*]R_0W0$LWQbxQQWUqR">jetzt</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <next>
                <block type="variables_set" id="DI`oHxII1,wYsW;os{3D">
                  <field name="VAR" id=".tl$sA#dc}OTbnTq5%d|">war</field>
                  <value name="VALUE">
                    <block type="convert_to_date" id="im|+Y3ZPCL9;LASfLHrL">
                      <value name="VALUE">
                        <block type="procedures_callcustomreturn" id="rHwm[cy3|rK}3J@}1MfN">
                          <mutation name="längerHer"></mutation>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="debug" id="`ndH:dm7nIuroeyaj#$^">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text" id="ur=BZAd6=tQ1Yn4qk.#`">
                          <field name="TEXT">test</field>
                        </shadow>
                        <block type="text_join" id="shDSZ+)]UzO?UO$#,X{m">
                          <mutation items="4"></mutation>
                          <value name="ADD0">
                            <block type="text" id="Gt{/$+a2J#xIOmhR=if=">
                              <field name="TEXT">war:   </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="convert_from_date" id="yBKnsOIgK%HdA]FdP15E">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                              <field name="OPTION">DD.MM.YYYY</field>
                              <value name="VALUE">
                                <block type="variables_get" id="$]r4;cWu6`HXnatMB{wb">
                                  <field name="VAR" id=".tl$sA#dc}OTbnTq5%d|">war</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="text" id="r*I2pS=vt72,lWG2EF7G">
                              <field name="TEXT"> - </field>
                            </block>
                          </value>
                          <value name="ADD3">
                            <block type="convert_from_date" id="2KkZVwJoI#IVei?R^-L!">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                              <field name="OPTION">hh:mm:ss</field>
                              <value name="VALUE">
                                <block type="variables_get" id="pEXtq!-Q9NZjxJhKt6gg">
                                  <field name="VAR" id=".tl$sA#dc}OTbnTq5%d|">war</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="debug" id="q=f4983u8v-2q_nMShcg">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id="=rgN!0Q)YcYoxx!t3Yo1">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="text_join" id="mu%/,Yqkkt*!ONa_V,um">
                              <mutation items="5"></mutation>
                              <value name="ADD0">
                                <block type="convert_from_date" id="pF85)~7%Z};G5GbkQFJs">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                  <field name="OPTION">hh:mm:ss</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="kgNUus|CdWLV%_#zeY+5">
                                      <field name="VAR" id="w*]R_0W0$LWQbxQQWUqR">jetzt</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="text_newline" id="Fu[a=0{Ax_?C^P,Vy`b.">
                                  <field name="Type">\r\n</field>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="convert_from_date" id="H!Qag|*K_TSm}i;pMxPu">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                  <field name="OPTION">hh:mm:ss</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="fD{}WVHvqF`wM5)%J,Kx">
                                      <field name="VAR" id=".tl$sA#dc}OTbnTq5%d|">war</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="text_newline" id="w(-:EI9:s+/0F;J(2*cA">
                                  <field name="Type">\r\n</field>
                                </block>
                              </value>
                              <value name="ADD4">
                                <block type="convert_from_date" id="[%2QKnnglrp]kJ==!w:z">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                  <field name="OPTION">hh:mm:ss</field>
                                  <value name="VALUE">
                                    <block type="math_arithmetic" id="}TVJhUWo`r[YN@W`,_Ay">
                                      <field name="OP">MINUS</field>
                                      <value name="A">
                                        <shadow type="math_number" id="}o~K{n2SYX-!(w4xu=El">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="variables_get" id="7M}@!v=joEQ/BPH`CoA$">
                                          <field name="VAR" id="w*]R_0W0$LWQbxQQWUqR">jetzt</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="bpF]j=vrd9F@uLnM#z)q">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="variables_get" id="`!+t4ze3wr,~e=L4d#8I">
                                          <field name="VAR" id=".tl$sA#dc}OTbnTq5%d|">war</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
        <block type="procedures_defcustomreturn" id="X}4v~b-?M+=:~uY~YL~_" x="1288" y="63">
          <mutation statements="false"></mutation>
          <field name="NAME">längerHer</field>
          <field name="SCRIPT">bGV0IGRhdGUgPSBuZXcgRGF0ZSgiMy8yMC8yMyIpOw0KZGF0ZS5zZXRIb3VycygyMik7DQpyZXR1cm4gZGF0ZTs=</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="procedures_defcustomreturn" id="-@OAa%fyS:waGq{?8gLZ" x="1288" y="138">
          <mutation statements="false"></mutation>
          <field name="NAME">jetzt</field>
          <field name="SCRIPT">cmV0dXJuIG5ldyBEYXRlKCk7DQo=</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
      </xml>
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @GombersIOB last edited by paul53

        @gombersiob sagte: Der 20.3. war noch Winterzeit und jetzt haben wir Sommerzeit.

        Der 26.3. hatte 23 Stunden.

        rtwl G 2 Replies Last reply Reply Quote 1
        • rtwl
          rtwl @paul53 last edited by

          @paul53
          Worin liegt hier der Fehler? Die Differenz von 5 Sek wird nicht berechnet.
          0a0ead37-7324-48ff-9e65-71e0026d5ac3-image.png

          22:10:30.561	info	javascript.0 (11896) script.js.Toni.Test: 22:10:25 22:10:30 00:00:00
          
          1 Reply Last reply Reply Quote 0
          • G
            GombersIOB @paul53 last edited by

            @paul53 said in Rechenfehler bei "Zeitstempel":

            Der 26.3. hatte 23 Stunden.

            Ich weiß jetzt nicht, was mir das sagen soll. Die jetzige Zeit in Winterzeit umgerechnet (also mit Beachtung der Zeitzone) wäre 21:04:14 gewesen.
            Der Abstand, wenn man die ganzen Tage abzieht, wären also 23:55:46 gewesen und nicht 00:00:04.

            paul53 rtwl 2 Replies Last reply Reply Quote 0
            • paul53
              paul53 @GombersIOB last edited by paul53

              @rtwl
              dauer = ende - start (ohne Konvertierung)

              rtwl 1 Reply Last reply Reply Quote 0
              • rtwl
                rtwl @paul53 last edited by

                @paul53 Stimmt, danke 👍

                1 Reply Last reply Reply Quote 0
                • rtwl
                  rtwl @GombersIOB last edited by

                  @gombersiob Bei dir ist es ja das gleiche Problem. Die Zeitumstellung wird nicht berücksichtigt. Daher hast du ja auch die eine Stunde zuviel, genauso wie es bei meinem Problem war.
                  klick mal auf den Link den @paul53 gepostet hat.

                  G 1 Reply Last reply Reply Quote 1
                  • G
                    GombersIOB @rtwl last edited by GombersIOB

                    @rtwl said in Rechenfehler bei "Zeitstempel":

                    Die Zeitumstellung wird nicht berücksichtigt.

                    Das bezweifle ich ja gar nicht - und das zeigt ja auch mein Beispiel. Und ich habe ja auch keine Stunde zuviel.
                    Aber Dein Problem ist doch, dass Du Uhrzeiten hast. 21:12 und 21:11. Der Abstand ist 1 Minute und nicht 1h1m

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      GombersIOB @GombersIOB last edited by

                      @gombersiob

                      Ich habs jetzt begriffen. Ich habs über die Millisekunden-Differenzen nachgerechnet und habs damit dann für mich nachvollziehen können.
                      Danke!

                      G 1 Reply Last reply Reply Quote 1
                      • G
                        GombersIOB @GombersIOB last edited by GombersIOB

                        @gombersiob said in Rechenfehler bei "Zeitstempel":

                        Ich habs jetzt begriffen.

                        Nach einer Nacht ist mir meine Begriffsstutzigkeit von gestern Abend regelrecht peinlich. Insbesondere, weil mir das Datumsformat eigentlich kein Fremdwort ist. Irgendwie war ich völlig auf dem falschen Dampfer. Ich warte auf den Tag, wo ich auf einen Enkeltrick reinfalle.

                        Ich habe meine Erklärung des "Phänomens" jetzt nochmal in ein Programm gepackt:
                        61bf92c3-7d7e-40f4-b62c-2854a7e5a468-grafik.png

                        Das Ergebnis sieht so aus:

                        07:52:23.805	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Das interne Format des Start-Timestamps: 1680548400000 - wird für unsere Zeitzone zu dieser Darstellung formatiert: 03.04.2023 - 21:00:00
                        07:52:23.805	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Das interne Format des Start-Timestamps: 1680634800000 - wird für unsere Zeitzone zu dieser Darstellung formatiert: 04.04.2023 - 21:00:00
                        07:52:23.805	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Die Differenz aus beiden Daten (Ende-Start) ist die Differenz in Millisekunden: 86400000 oder in Stunden: 24
                        07:52:23.805	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Der Versuch die Differenz als Datum darzustellen scheitert offensichtlich jenseits von UTC: 02.01.1970 - 21:00:00
                        
                        rtwl 1 Reply Last reply Reply Quote 0
                        • rtwl
                          rtwl @GombersIOB last edited by rtwl

                          @gombersiob die ganz letzte variable ist Ende statt Gesamt Darum hast du 21 Uhr als Ergebniss. Bei Gesamt wird diese auf 0:00 Uhr sein.

                          und 24 Std nach dem 1.1.1970 ist ja auch der 2. Jänner 1970 um 0:00

                          aber man kann ja auch eine Differenz nicht als Datum ausgeben.

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            GombersIOB @rtwl last edited by

                            @rtwl said in Rechenfehler bei "Zeitstempel":

                            die ganz letzte variable ist Ende statt Gesamt

                            Du hast recht - Copy&Paste. Ich wusste was rauskommen würde, darum habe ich nicht mehr richtig geschaut (war so klein geschrieben 😠 )

                            Jetzt nochmal:
                            ea016bd1-234a-4ee0-9628-2ce33a798a21-grafik.png

                            08:46:29.776	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Das interne Format des Start-Timestamps: 1680548400000 - wird für unsere Zeitzone zu dieser Darstellung formatiert: 03.04.2023 - 21:00:00
                            08:46:29.777	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Das interne Format des Start-Timestamps: 1680634800000 - wird für unsere Zeitzone zu dieser Darstellung formatiert: 04.04.2023 - 21:00:00
                            08:46:29.777	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Die Differenz aus beiden Daten (Ende-Start) ist die Differenz in Millisekunden: 86400000 oder in Stunden: 24
                            08:46:29.777	info	javascript.0 (1661) script.js.common.Testen.Zeitrechnungen2: Der Versuch die Differenz als Datum darzustellen scheitert offensichtlich jenseits von UTC: 02.01.1970 - 01:00:00
                            

                            Da sieht man jetzt auch die 1 "zusätzliche" Stunde, dadurch dass sich MEZ um 1 Stunde von UTC unterscheidet.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            629
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            3
                            15
                            642
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo