Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Anzahl der Tage nach Datum

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    361

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Anzahl der Tage nach Datum

Geplant Angeheftet Gesperrt Verschoben Blockly
48 Beiträge 8 Kommentatoren 5.5k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • TheDukeT TheDuke

    Hallo,
    ich hätte gerne via Blockly die Anzahl der Tage vom 27.08.2021 bis heute immer aktuell ausgerechnet.

    Kennt da einer die Lösung ?

    Ich brauche den Wert um den Tagesstromverbrauch (kw/h) zu errechnen.

    schöne Grüße
    TheDuke

    mkshbM Offline
    mkshbM Offline
    mkshb
    schrieb am zuletzt editiert von mkshb
    #2

    Moin @theduke,

    konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
    (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
    20908800000 / 86400000 = 242 Tage

    Blockly:

    <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
      <field name="OP">DIVIDE</field>
      <value name="A">
        <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
          <field name="NUM">1</field>
        </shadow>
        <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
          <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
        </block>
      </value>
      <value name="B">
        <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
          <field name="NUM">86400000</field>
        </shadow>
      </value>
    </block>
    

    TheDukeT S 2 Antworten Letzte Antwort
    1
    • mkshbM mkshb

      Moin @theduke,

      konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
      (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
      20908800000 / 86400000 = 242 Tage

      Blockly:

      <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
        <field name="OP">DIVIDE</field>
        <value name="A">
          <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
            <field name="NUM">1</field>
          </shadow>
          <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
            <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
          </block>
        </value>
        <value name="B">
          <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
            <field name="NUM">86400000</field>
          </shadow>
        </value>
      </block>
      

      TheDukeT Offline
      TheDukeT Offline
      TheDuke
      schrieb am zuletzt editiert von
      #3

      @mkshb
      Vielen lieben Dank. Auf diesen Lösungsweg wäre ich nicht gekommen. Top.

      schöne Grüße TheDuke ;)

      mkshbM 1 Antwort Letzte Antwort
      1
      • TheDukeT TheDuke

        @mkshb
        Vielen lieben Dank. Auf diesen Lösungsweg wäre ich nicht gekommen. Top.

        mkshbM Offline
        mkshbM Offline
        mkshb
        schrieb am zuletzt editiert von
        #4

        @theduke
        Kein Problem, man hilft wo man kann.
        Aber noch eine Frage: Wofür genau brauchst Du die Tage um den Tagesverbrauch zu errechnen?

        TheDukeT 1 Antwort Letzte Antwort
        0
        • mkshbM mkshb

          @theduke
          Kein Problem, man hilft wo man kann.
          Aber noch eine Frage: Wofür genau brauchst Du die Tage um den Tagesverbrauch zu errechnen?

          TheDukeT Offline
          TheDukeT Offline
          TheDuke
          schrieb am zuletzt editiert von
          #5

          @mkshb

          Ich habe am 27.08.2021 einen neuen Stromzähler bekommen.
          Errechnen werde ich den Durchschnittsverbrauch.
          Also einfach Verbrauch / durch Tage .

          Die Betonung liegt auf einfach :joy:

          Zum Schluß wird der Wert dann in einem Jahres Diagramm dargestellt mit dem Solarertrag .

          schöne Grüße TheDuke ;)

          mkshbM 1 Antwort Letzte Antwort
          0
          • TheDukeT TheDuke

            @mkshb

            Ich habe am 27.08.2021 einen neuen Stromzähler bekommen.
            Errechnen werde ich den Durchschnittsverbrauch.
            Also einfach Verbrauch / durch Tage .

            Die Betonung liegt auf einfach :joy:

            Zum Schluß wird der Wert dann in einem Jahres Diagramm dargestellt mit dem Solarertrag .

            mkshbM Offline
            mkshbM Offline
            mkshb
            schrieb am zuletzt editiert von
            #6

            @theduke

            Das erklärt es. Musst aber noch eine ganze Weile Daten sammeln bis Du vergleichen kannst. ;)

            Habe mich selbst kürzlich mit dem Thema beschäftigt und vielleicht ist sowas wie ein gleitender Durchschnitt (moving average) für Dich noch spannend.

            5f891db1-54a6-4041-8b58-aac5c5f0d9db-grafik.png

            crunchipC 1 Antwort Letzte Antwort
            1
            • TheDukeT Offline
              TheDukeT Offline
              TheDuke
              schrieb am zuletzt editiert von
              #7

              Ja das sieht ja mal geil aus. Aber passt leider nicht zu meinem stümperhaftem Rest optisch gesehen.
              Und verstehen würde ich den Quellcode ja auch nicht :grin:

              Aber Danke.

              schöne Grüße TheDuke ;)

              1 Antwort Letzte Antwort
              1
              • mkshbM mkshb

                @theduke

                Das erklärt es. Musst aber noch eine ganze Weile Daten sammeln bis Du vergleichen kannst. ;)

                Habe mich selbst kürzlich mit dem Thema beschäftigt und vielleicht ist sowas wie ein gleitender Durchschnitt (moving average) für Dich noch spannend.

                5f891db1-54a6-4041-8b58-aac5c5f0d9db-grafik.png

                crunchipC Abwesend
                crunchipC Abwesend
                crunchip
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #8

                @mkshb sagte in Anzahl der Tage nach Datum:

                gleitender Durchschnitt (moving average)

                wo bzw wie wird das eingestellt

                umgestiegen von Proxmox auf Unraid

                mkshbM 1 Antwort Letzte Antwort
                0
                • crunchipC crunchip

                  @mkshb sagte in Anzahl der Tage nach Datum:

                  gleitender Durchschnitt (moving average)

                  wo bzw wie wird das eingestellt

                  mkshbM Offline
                  mkshbM Offline
                  mkshb
                  schrieb am zuletzt editiert von
                  #9

                  @crunchip sagte in Anzahl der Tage nach Datum:

                  @mkshb sagte in Anzahl der Tage nach Datum:

                  gleitender Durchschnitt (moving average)

                  wo bzw wie wird das eingestellt

                  Ist eine InfluxDB Funktion. Abfrage für die letzten 14 Tage in Grafana sieht dann so aus:

                  SELECT moving_average(difference(last("value")),14) FROM "0_userdata.0.Energiekosten.Stromzaehler" WHERE $timeFilter GROUP BY time(1d) fill(previous) tz('Europe/Berlin') 
                  
                  crunchipC 1 Antwort Letzte Antwort
                  1
                  • mkshbM mkshb

                    @crunchip sagte in Anzahl der Tage nach Datum:

                    @mkshb sagte in Anzahl der Tage nach Datum:

                    gleitender Durchschnitt (moving average)

                    wo bzw wie wird das eingestellt

                    Ist eine InfluxDB Funktion. Abfrage für die letzten 14 Tage in Grafana sieht dann so aus:

                    SELECT moving_average(difference(last("value")),14) FROM "0_userdata.0.Energiekosten.Stromzaehler" WHERE $timeFilter GROUP BY time(1d) fill(previous) tz('Europe/Berlin') 
                    
                    crunchipC Abwesend
                    crunchipC Abwesend
                    crunchip
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #10

                    @mkshb so ungefähr hatte ich es schon nach ein wenig suchen, nur die Zahl 14 wie in deinem Beispiel fehlte mir noch

                    umgestiegen von Proxmox auf Unraid

                    1 Antwort Letzte Antwort
                    1
                    • mkshbM mkshb

                      Moin @theduke,

                      konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
                      (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
                      20908800000 / 86400000 = 242 Tage

                      Blockly:

                      <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
                        <field name="OP">DIVIDE</field>
                        <value name="A">
                          <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
                            <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
                          </block>
                        </value>
                        <value name="B">
                          <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
                            <field name="NUM">86400000</field>
                          </shadow>
                        </value>
                      </block>
                      

                      S Offline
                      S Offline
                      srkonus
                      schrieb am zuletzt editiert von srkonus
                      #11

                      @mkshb said in Anzahl der Tage nach Datum:

                      Moin @theduke,

                      konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
                      (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
                      20908800000 / 86400000 = 242 Tage

                      Blockly:

                      <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
                        <field name="OP">DIVIDE</field>
                        <value name="A">
                          <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
                            <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
                          </block>
                        </value>
                        <value name="B">
                          <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
                            <field name="NUM">86400000</field>
                          </shadow>
                        </value>
                      </block>
                      

                      Wie setze bzw. rechne ich ein bestimmtes Datum in Millisekunden um?

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #12

                        Man kann auch einfach die durations Bibliothek nutzen:
                        https://www.npmjs.com/package/duration

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        S 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          Man kann auch einfach die durations Bibliothek nutzen:
                          https://www.npmjs.com/package/duration

                          S Offline
                          S Offline
                          srkonus
                          schrieb am zuletzt editiert von
                          #13

                          @mickym Wie kann ich das dann in Blockly nutzen?
                          Ich möchte meine gefahrenen Kilometer als Durchschnitt angezeigt bekommen. Was ich kenne ist der Leasingbeginn und die Gesamtkilometer. Den Durchschnitt pro Tag kann man ja errechnen, wenn man ausrechnet, wie lange das Leasing schon läuft.

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • S srkonus

                            @mickym Wie kann ich das dann in Blockly nutzen?
                            Ich möchte meine gefahrenen Kilometer als Durchschnitt angezeigt bekommen. Was ich kenne ist der Leasingbeginn und die Gesamtkilometer. Den Durchschnitt pro Tag kann man ja errechnen, wenn man ausrechnet, wie lange das Leasing schon läuft.

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #14

                            @srkonus OK - ich habe mal Quick & Dirty was für Dich gemacht:

                            9e2fdda6-3c9f-457c-8b8e-098b594ab1e7-image.png

                            Das Datum also in der Form (JJJJ,M,T) eingeben und Du bekommst die Tage bis heute raus. Man kann die Funktion natürlich noch aufbohren.
                            Also 11 Tage vergangen seit Beginn des Monats (1.7.2022 oder 2022,7,1) + 1 ist dann der 12.Tag heute.

                            Im JS Adapter muss man halt die duration Bibliothek mit aufnehmen.
                            73fa9f8f-58e9-4459-a985-2e47efabf039-image.png

                            Somit bekommst also zu jedem Datum in der Vergangenheit die vergangenen Tage sehr einfach. Im letzten Beispiel:

                            <xml xmlns="https://developers.google.com/blockly/xml">
                             <variables>
                               <variable id="m:)gvKQ,tVbet;-TV{5b">seit</variable>
                             </variables>
                             <block type="procedures_defcustomreturn" id="X!%2r7kCe4uVH:d}`32Y" x="113" y="63">
                               <mutation statements="false">
                                 <arg name="seit" varid="m:)gvKQ,tVbet;-TV{5b"></arg>
                               </mutation>
                               <field name="NAME">Zeitraum_Tage</field>
                               <field name="SCRIPT">dmFyIER1cmF0aW9uID0gcmVxdWlyZSgiZHVyYXRpb24iKTsKCnZhciBkdXJhdGlvbiA9IG5ldyBEdXJhdGlvbihuZXcgRGF0ZShzZWl0KSk7CnJldHVybiBkdXJhdGlvbi5kYXlzOw==</field>
                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                             </block>
                             <block type="debug" id="Bb(Yc|=`6FU{/4[.C=1X" x="113" y="113">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="|m|X_N`BiZ%InvfDMMwK">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="procedures_callcustomreturn" id="dQ61jfAA2hmi!M1mDqQo">
                                   <mutation name="Zeitraum_Tage">
                                     <arg name="seit"></arg>
                                   </mutation>
                                   <value name="ARG0">
                                     <block type="lists_split" id="TD,]mjs?,-6xPS{($oSZ">
                                       <mutation mode="SPLIT"></mutation>
                                       <field name="MODE">SPLIT</field>
                                       <value name="INPUT">
                                         <block type="text" id=".0|RaEZ@@!1(Ej099i-*">
                                           <field name="TEXT">2022,7,1</field>
                                         </block>
                                       </value>
                                       <value name="DELIM">
                                         <shadow type="text" id="#X%yFw`93sg7E2$ILJ_N">
                                           <field name="TEXT">,</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                            </xml>
                            

                            Ich bin mir zwar immer nicht sicher, ob die Funktion mit kommt. Ich bin bekannterweise kein Blockly-Fan, aber damit bekommt man die Tage nun ganz easy. Du kannst ja mit der Beschreibung der durations Bibliothek auch leicht andere Einheiten oder auch Zeiträume von bis definieren.

                            So kann man ja auch leicht den aktuellen Tag des Jahres berechnen usw.

                            eaf5c2a6-0fed-4df7-bc7f-872ea2a92081-image.png

                            Also 192 Tage vergangen seit dem 1.1. + 1 ist dann der 193.Tag heute.

                            Oder wie im Beipiel von @TheDuke halt der 27.8.2021 bis heute:

                            93cce102-46eb-4872-ac54-be7ec670f28b-image.png

                            also Stand heute (12.7.2022) - 319 Tage. ;)

                            Wie gesagt den Link zur Durations Bibliothek habe ich ja verlinkt, so dass man die Funktion beliebig komplex erweitern kann, wenn man

                            • andere Einheiten zurück haben will
                              oder
                            • andere Zeiträume (von bis)

                            Das überlasse ich Dir aber dann (wollte hier nur eine Anregung zur Vereinfachung geben).

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            1 Antwort Letzte Antwort
                            0
                            • S srkonus

                              @mkshb said in Anzahl der Tage nach Datum:

                              Moin @theduke,

                              konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
                              (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
                              20908800000 / 86400000 = 242 Tage

                              Blockly:

                              <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
                                <field name="OP">DIVIDE</field>
                                <value name="A">
                                  <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
                                    <field name="NUM">1</field>
                                  </shadow>
                                  <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
                                    <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
                                    <field name="NUM">86400000</field>
                                  </shadow>
                                </value>
                              </block>
                              

                              Wie setze bzw. rechne ich ein bestimmtes Datum in Millisekunden um?

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #15

                              @srkonus sagte in Anzahl der Tage nach Datum:

                              @mkshb said in Anzahl der Tage nach Datum:

                              Moin @theduke,

                              konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
                              (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
                              20908800000 / 86400000 = 242 Tage

                              Blockly:

                              <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
                                <field name="OP">DIVIDE</field>
                                <value name="A">
                                  <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
                                    <field name="NUM">1</field>
                                  </shadow>
                                  <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
                                    <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
                                    <field name="NUM">86400000</field>
                                  </shadow>
                                </value>
                              </block>
                              

                              Wie setze bzw. rechne ich ein bestimmtes Datum in Millisekunden um?

                              Ansonsten wenn Du lieber selber rechnen willst über die Methode von @mkshb - habe ich Dir im Blockly noch die andere Möglichkeiten angehängt (aktuelles Datum in ms und bestimmtes Datum in ms):
                              807ef671-97b4-4e09-83a5-280a4071e1ad-image.png

                              Du siehst auch hier kommt beim Datum vom 27.8.2021 leicht auf die Millisekunden:
                              1630015200000 und damit auch auf 319 Tage, wie die duration Bibliothek ausgibt. Wenn Du also lieber selbst rechnen willst, kannst Du es auch ohne die Bibliothek easy tun.

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <variables>
                                 <variable id="m:)gvKQ,tVbet;-TV{5b">seit</variable>
                               </variables>
                               <block type="procedures_defcustomreturn" id="X!%2r7kCe4uVH:d}`32Y" x="-562" y="38">
                                 <mutation statements="false">
                                   <arg name="seit" varid="m:)gvKQ,tVbet;-TV{5b"></arg>
                                 </mutation>
                                 <field name="NAME">Zeitraum_Tage</field>
                                 <field name="SCRIPT">dmFyIER1cmF0aW9uID0gcmVxdWlyZSgiZHVyYXRpb24iKTsKCnZhciBkdXJhdGlvbiA9IG5ldyBEdXJhdGlvbihuZXcgRGF0ZShzZWl0KSk7CnJldHVybiBkdXJhdGlvbi5kYXlzOw==</field>
                                 <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                               </block>
                               <block type="debug" id="Bb(Yc|=`6FU{/4[.C=1X" x="-562" y="88">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="|m|X_N`BiZ%InvfDMMwK">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="procedures_callcustomreturn" id="dQ61jfAA2hmi!M1mDqQo">
                                     <mutation name="Zeitraum_Tage">
                                       <arg name="seit"></arg>
                                     </mutation>
                                     <value name="ARG0">
                                       <block type="lists_split" id="TD,]mjs?,-6xPS{($oSZ">
                                         <mutation mode="SPLIT"></mutation>
                                         <field name="MODE">SPLIT</field>
                                         <value name="INPUT">
                                           <block type="text" id=".0|RaEZ@@!1(Ej099i-*">
                                             <field name="TEXT">2021,8,27</field>
                                           </block>
                                         </value>
                                         <value name="DELIM">
                                           <shadow type="text" id="#X%yFw`93sg7E2$ILJ_N">
                                             <field name="TEXT">,</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="A7l5f!#=y2PF72?N3J?z">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="+h!]x636x85Y2qVC2uu]">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="time_get" id="],CE@TAC+Oh8FUEA$2Y9">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                         <field name="OPTION">object</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="g{Cu^@+4jhqS=hSeGH~7">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="QqI0_2FCqpwW*D_jsC||">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="convert_from_date" id="[oKNLVL,k4)^s/zD0-un">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                             <field name="OPTION">object</field>
                                             <value name="VALUE">
                                               <block type="text" id="_O^?86yj_3.I$~FYD%*7">
                                                 <field name="TEXT">2021/8/27</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id=":0fWS(#KtbA(kJ=dI+7L">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="M^i[sWHMx~peyj/P*X$,">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="math_round" id="=gloh%t#7j(;OS_Y+;Mp">
                                                 <field name="OP">ROUNDDOWN</field>
                                                 <value name="NUM">
                                                   <shadow type="math_number" id="xN484bNwbqTuVYC7|Z03">
                                                     <field name="NUM">3.1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="tG0~nBi^eEhKj[c~eWFa">
                                                     <field name="OP">DIVIDE</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="E(rxg^}]Pw[!I106|Ll:">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_arithmetic" id="xL1)6P%OmSlVH{6=){(f">
                                                         <field name="OP">MINUS</field>
                                                         <value name="A">
                                                           <shadow type="math_number" id="u`j1SY@jpw.]hVP#lUW4">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="time_get" id="[JsB^D7A]Y{X$75E{(fT">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                             <field name="OPTION">object</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow type="math_number" id="jwV97|MDF+K*dFN*#@u%">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="convert_from_date" id="vlZ[bRTj6!r;NV+d!x[o">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                             <field name="OPTION">object</field>
                                                             <value name="VALUE">
                                                               <block type="text" id="D6.e]0/+UTZ)aPTqKOvn">
                                                                 <field name="TEXT">2021/8/27</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="FI2=Q!iks[mhY!SgR/=v">
                                                         <field name="NUM">86400000</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                              </xml>
                              

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              S 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @srkonus sagte in Anzahl der Tage nach Datum:

                                @mkshb said in Anzahl der Tage nach Datum:

                                Moin @theduke,

                                konvertiere beide Daten in Millisekunden, rechne die Differenz aus und teile durch 86400000.
                                (26.04.2022 = 16509710270000) - (27.08.2021 = 1630015200000) = 20908800000
                                20908800000 / 86400000 = 242 Tage

                                Blockly:

                                <block xmlns="https://developers.google.com/blockly/xml" type="math_arithmetic" id="d.u7_y%xUhEXN5jEXMUd" x="-424.7499999999998" y="-383">
                                  <field name="OP">DIVIDE</field>
                                  <value name="A">
                                    <shadow type="math_number" id="5_SP@j1G$ZaS7t|_FS=9">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="variables_get" id="|mNOgikc3~Cz^~a;*8``">
                                      <field name="VAR" id=":/OtTgN{LMHO~q|giE:P">Diff</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id=",WYKnG6LK3P1TM[n9QP}">
                                      <field name="NUM">86400000</field>
                                    </shadow>
                                  </value>
                                </block>
                                

                                Wie setze bzw. rechne ich ein bestimmtes Datum in Millisekunden um?

                                Ansonsten wenn Du lieber selber rechnen willst über die Methode von @mkshb - habe ich Dir im Blockly noch die andere Möglichkeiten angehängt (aktuelles Datum in ms und bestimmtes Datum in ms):
                                807ef671-97b4-4e09-83a5-280a4071e1ad-image.png

                                Du siehst auch hier kommt beim Datum vom 27.8.2021 leicht auf die Millisekunden:
                                1630015200000 und damit auch auf 319 Tage, wie die duration Bibliothek ausgibt. Wenn Du also lieber selbst rechnen willst, kannst Du es auch ohne die Bibliothek easy tun.

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <variables>
                                   <variable id="m:)gvKQ,tVbet;-TV{5b">seit</variable>
                                 </variables>
                                 <block type="procedures_defcustomreturn" id="X!%2r7kCe4uVH:d}`32Y" x="-562" y="38">
                                   <mutation statements="false">
                                     <arg name="seit" varid="m:)gvKQ,tVbet;-TV{5b"></arg>
                                   </mutation>
                                   <field name="NAME">Zeitraum_Tage</field>
                                   <field name="SCRIPT">dmFyIER1cmF0aW9uID0gcmVxdWlyZSgiZHVyYXRpb24iKTsKCnZhciBkdXJhdGlvbiA9IG5ldyBEdXJhdGlvbihuZXcgRGF0ZShzZWl0KSk7CnJldHVybiBkdXJhdGlvbi5kYXlzOw==</field>
                                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 </block>
                                 <block type="debug" id="Bb(Yc|=`6FU{/4[.C=1X" x="-562" y="88">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="|m|X_N`BiZ%InvfDMMwK">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="procedures_callcustomreturn" id="dQ61jfAA2hmi!M1mDqQo">
                                       <mutation name="Zeitraum_Tage">
                                         <arg name="seit"></arg>
                                       </mutation>
                                       <value name="ARG0">
                                         <block type="lists_split" id="TD,]mjs?,-6xPS{($oSZ">
                                           <mutation mode="SPLIT"></mutation>
                                           <field name="MODE">SPLIT</field>
                                           <value name="INPUT">
                                             <block type="text" id=".0|RaEZ@@!1(Ej099i-*">
                                               <field name="TEXT">2021,8,27</field>
                                             </block>
                                           </value>
                                           <value name="DELIM">
                                             <shadow type="text" id="#X%yFw`93sg7E2$ILJ_N">
                                               <field name="TEXT">,</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="A7l5f!#=y2PF72?N3J?z">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="+h!]x636x85Y2qVC2uu]">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="time_get" id="],CE@TAC+Oh8FUEA$2Y9">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                           <field name="OPTION">object</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="g{Cu^@+4jhqS=hSeGH~7">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="QqI0_2FCqpwW*D_jsC||">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="convert_from_date" id="[oKNLVL,k4)^s/zD0-un">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                               <field name="OPTION">object</field>
                                               <value name="VALUE">
                                                 <block type="text" id="_O^?86yj_3.I$~FYD%*7">
                                                   <field name="TEXT">2021/8/27</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id=":0fWS(#KtbA(kJ=dI+7L">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="M^i[sWHMx~peyj/P*X$,">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="math_round" id="=gloh%t#7j(;OS_Y+;Mp">
                                                   <field name="OP">ROUNDDOWN</field>
                                                   <value name="NUM">
                                                     <shadow type="math_number" id="xN484bNwbqTuVYC7|Z03">
                                                       <field name="NUM">3.1</field>
                                                     </shadow>
                                                     <block type="math_arithmetic" id="tG0~nBi^eEhKj[c~eWFa">
                                                       <field name="OP">DIVIDE</field>
                                                       <value name="A">
                                                         <shadow type="math_number" id="E(rxg^}]Pw[!I106|Ll:">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_arithmetic" id="xL1)6P%OmSlVH{6=){(f">
                                                           <field name="OP">MINUS</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="u`j1SY@jpw.]hVP#lUW4">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="time_get" id="[JsB^D7A]Y{X$75E{(fT">
                                                               <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                               <field name="OPTION">object</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="jwV97|MDF+K*dFN*#@u%">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="convert_from_date" id="vlZ[bRTj6!r;NV+d!x[o">
                                                               <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                               <field name="OPTION">object</field>
                                                               <value name="VALUE">
                                                                 <block type="text" id="D6.e]0/+UTZ)aPTqKOvn">
                                                                   <field name="TEXT">2021/8/27</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number" id="FI2=Q!iks[mhY!SgR/=v">
                                                           <field name="NUM">86400000</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                                </xml>
                                

                                S Offline
                                S Offline
                                srkonus
                                schrieb am zuletzt editiert von
                                #16

                                @mickym Mega - Vielen Dank! Jetzt muss ich das nur noch irgendwie in eine Variable bekommen und kann damit weiter rechnen.

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • S srkonus

                                  @mickym Mega - Vielen Dank! Jetzt muss ich das nur noch irgendwie in eine Variable bekommen und kann damit weiter rechnen.

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #17

                                  @srkonus Na das sollte doch wirklich kein Problem sein, Du musst doch den Block - statt dem debug output nur einer Variablen zuweisen:

                                  19178f2d-fb0a-4ef9-b8f8-d7692de32242-image.png

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @srkonus Na das sollte doch wirklich kein Problem sein, Du musst doch den Block - statt dem debug output nur einer Variablen zuweisen:

                                    19178f2d-fb0a-4ef9-b8f8-d7692de32242-image.png

                                    S Offline
                                    S Offline
                                    srkonus
                                    schrieb am zuletzt editiert von
                                    #18

                                    @mickym Habe es mit "Schreibe Objekt ID" gemacht. Morgen einmal nachschauen, ob das "Tage Seit" sich automatisch aktualisiert oder ich einen CRON Job einrichten muss.

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • S srkonus

                                      @mickym Habe es mit "Schreibe Objekt ID" gemacht. Morgen einmal nachschauen, ob das "Tage Seit" sich automatisch aktualisiert oder ich einen CRON Job einrichten muss.

                                      T Offline
                                      T Offline
                                      TT-Tom
                                      schrieb am zuletzt editiert von TT-Tom
                                      #19

                                      @srkonus

                                      Startest du das Script automatisch neu, wenn nicht, wird sich nach dem ersten Durchlauf nichts mehr ändern.

                                      Entweder Triggern oder ein CRON halt.

                                      Gruß Tom

                                      Gruß Tom
                                      https://github.com/tt-tom17
                                      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                      NSPanel Script Wiki
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      NSPanel Adapter Wiki
                                      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                      metaxaM 1 Antwort Letzte Antwort
                                      1
                                      • T TT-Tom

                                        @srkonus

                                        Startest du das Script automatisch neu, wenn nicht, wird sich nach dem ersten Durchlauf nichts mehr ändern.

                                        Entweder Triggern oder ein CRON halt.

                                        Gruß Tom

                                        metaxaM Offline
                                        metaxaM Offline
                                        metaxa
                                        schrieb am zuletzt editiert von
                                        #20

                                        Mit Interesse habe ich diesen Thread gelesen und versuche ihn für meine Zwecke umzusetzen.

                                        Irgendetwas mache ich falsch, die Berechnung von @srkonus (danke für den npm - link) stimmt, meine eigene aber nicht.

                                        25308528-0321-4164-9008-52e5a69dd9c6-image.png
                                        c28a00ce-f04d-45b4-ade4-2409f945f7f5-image.png

                                        Funktion Zeitraum_Tage_1 --> Ergebnis 96 (richtig)

                                        var Duration = require("duration");
                                        
                                        var duration = new Duration(new Date(seit));
                                        return duration.days;
                                        

                                        Funktion Zeitraum_Tage_2 --> Ergebnis 66 (falsch)

                                        var Duration = require("duration");
                                        
                                        var duration = new Duration(new Date(2022, 04, 12));
                                        return duration.days;
                                        

                                        Warum bitte?

                                        T metaxaM 2 Antworten Letzte Antwort
                                        0
                                        • metaxaM metaxa

                                          Mit Interesse habe ich diesen Thread gelesen und versuche ihn für meine Zwecke umzusetzen.

                                          Irgendetwas mache ich falsch, die Berechnung von @srkonus (danke für den npm - link) stimmt, meine eigene aber nicht.

                                          25308528-0321-4164-9008-52e5a69dd9c6-image.png
                                          c28a00ce-f04d-45b4-ade4-2409f945f7f5-image.png

                                          Funktion Zeitraum_Tage_1 --> Ergebnis 96 (richtig)

                                          var Duration = require("duration");
                                          
                                          var duration = new Duration(new Date(seit));
                                          return duration.days;
                                          

                                          Funktion Zeitraum_Tage_2 --> Ergebnis 66 (falsch)

                                          var Duration = require("duration");
                                          
                                          var duration = new Duration(new Date(2022, 04, 12));
                                          return duration.days;
                                          

                                          Warum bitte?

                                          T Offline
                                          T Offline
                                          TT-Tom
                                          schrieb am zuletzt editiert von
                                          #21

                                          @metaxa

                                          Ich würde sagen die Schreibweise des Datums ist falsch. dd/mm/yyyy

                                          Gruß Tom
                                          https://github.com/tt-tom17
                                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                          NSPanel Script Wiki
                                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                          NSPanel Adapter Wiki
                                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                          metaxaM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          796

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe