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.
    • paul53
      paul53 @rtwl last edited by paul53

      @rtwl sagte: Was kann es sonst sein?

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

      G 1 Reply Last reply Reply Quote 0
      • 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

                              530
                              Online

                              31.9k
                              Users

                              80.1k
                              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