Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Am zeitformat zu 24h, aus strin convertieren

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Am zeitformat zu 24h, aus strin convertieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jumbo125 last edited by

      Hallo zusammen

      Ich habe in meinem Datenpunkz string mehrere uhrzeiten stehen. Leider sind dieses im am, pm 12h format. Weiters kommen sie unterschiedlich oft im string vor..
      Gibt es eine Lösung im blockly für(nach string suchen), gefundene uhrzeit convertieren

      Vielen Dank
      Liebe Grüße Jumbo

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @jumbo125 last edited by mickym

        @jumbo125 Nimm halt den JSONATA Baustein, da kannst Du reguläre Ausdrücke verwenden. Gib halt mal ein Beispiel.

        Sowas ???:

        Ich gehe um 0:20 am ins Bett, stehe um 7:30 am auf und komme um 6:00 pm von der Arbeit und um 10:15 pm bekam ich einen Anruf?
        

        842f93b9-4ea9-4944-9b22-fad26f05ddcb-image.png

        Ich mag ja nicht puzzeln und schaut auch irgendwie umständlich aus, aber besser bekomme ich es nicht hin. Ggf. ganz in JSONATA.

        Hier also mal eine Version

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="(7qgmKCZ6$bbU2Zc+f{4">Ausgabe</variable>
            <variable id="GJ2ndMW7LkTX2-FSt,}t">Text</variable>
            <variable id="7S[F@;$pR)jUhf:yHxgr">Uhrzeiten</variable>
            <variable id="KZgsTk=AKH4t-HPRD]Mw">i</variable>
            <variable id="C?aqfg}~*49d3WLvY^DA">h</variable>
          </variables>
          <block type="variables_set" id="XWr).!qch{#5z+a.S]GI" x="88" y="-88">
            <field name="VAR" id="(7qgmKCZ6$bbU2Zc+f{4">Ausgabe</field>
            <value name="VALUE">
              <block type="lists_create_with" id="Hl)$|MC{dq,{R@B[;X=;">
                <mutation items="0"></mutation>
              </block>
            </value>
            <next>
              <block type="variables_set" id="dY2fb+(e-ad-Mt0RzlE7">
                <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                <value name="VALUE">
                  <block type="text" id="Om7utVfK8cNM_$JPk#9T">
                    <field name="TEXT">Ich gehe um 0:20am ins Bett, stehe um 7:30 am auf und komme um 6:00 pm von der Arbeit und um 10:15 pm bekam ich einen Anruf?</field>
                  </block>
                </value>
                <next>
                  <block type="variables_set" id="/E_|Qn|]M{x~c[M$K1}6">
                    <field name="VAR" id="7S[F@;$pR)jUhf:yHxgr">Uhrzeiten</field>
                    <value name="VALUE">
                      <block type="convert_jsonata" id="l=F0K=]/)3k7pL)a:e3R">
                        <value name="EXPRESSION">
                          <shadow type="text" id="TisQmI_oO^/Cn~@CJ,;S">
                            <field name="TEXT">$match($,/\d*\d:\d\d\W*[a,p]m/).match.{"h":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[0], "m":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[1],"i":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[2]}</field>
                          </shadow>
                        </value>
                        <value name="TARGET">
                          <block type="variables_get" id="Ko_!Xg))0SwL]q5)A8wW">
                            <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="controls_forEach" id="8Tyx[ka}$nat#jW^fihP">
                        <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                        <value name="LIST">
                          <block type="variables_get" id="MM!gPch{EQ5(*yV,;8VX">
                            <field name="VAR" id="7S[F@;$pR)jUhf:yHxgr">Uhrzeiten</field>
                          </block>
                        </value>
                        <statement name="DO">
                          <block type="controls_if" id="S44|hXWjK.P,n,vJUq[I">
                            <mutation else="1"></mutation>
                            <value name="IF0">
                              <block type="logic_compare" id="]8m7%h^.^;:GqHw-iLE|">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="get_attr" id="p~oqyPmy@GLB}?y]tKOJ">
                                    <value name="PATH">
                                      <shadow type="text" id="z^BAC:L%J7ABj$^C[6s7">
                                        <field name="TEXT">i</field>
                                      </shadow>
                                    </value>
                                    <value name="OBJECT">
                                      <block type="variables_get" id="w65^x(k?1+Z9A0[DZotr">
                                        <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="cqL-7Pm~wIp7]VL-u2@#">
                                    <field name="TEXT">pm</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="variables_set" id="t%2[7c:8QDkCD*_1lMUw">
                                <field name="VAR" id="C?aqfg}~*49d3WLvY^DA">h</field>
                                <value name="VALUE">
                                  <block type="math_arithmetic" id="+kC84:CwBJ~f+!^@~zvO">
                                    <field name="OP">ADD</field>
                                    <value name="A">
                                      <shadow type="math_number" id="zDSD|:[i8hvw*2`I#;Ka">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="get_attr" id=")/uE[*VcfaURj2cut?)B">
                                        <value name="PATH">
                                          <shadow type="text" id=",Ly+IF9O|Qp%Kw}ml,/^">
                                            <field name="TEXT">h</field>
                                          </shadow>
                                        </value>
                                        <value name="OBJECT">
                                          <block type="variables_get" id="~=7fR/8rF*?B/%0E)fK:">
                                            <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <shadow type="math_number" id="km^z6|a*-EGzJV;G~EWI">
                                        <field name="NUM">12</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <statement name="ELSE">
                              <block type="variables_set" id="uPgaDF|jP`%rJ,DWur5?">
                                <field name="VAR" id="C?aqfg}~*49d3WLvY^DA">h</field>
                                <value name="VALUE">
                                  <block type="get_attr" id="0$jr{NTl|s_K^FBp+4)n">
                                    <value name="PATH">
                                      <shadow type="text" id="Y?)Gj;L/e-xojw2US!cz">
                                        <field name="TEXT">h</field>
                                      </shadow>
                                    </value>
                                    <value name="OBJECT">
                                      <block type="variables_get" id="j-g};(neX7GBol=/Dr=`">
                                        <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="controls_if" id=":Kj!g+g@P!`fQ2oWyINH">
                                <value name="IF0">
                                  <block type="logic_compare" id="?0-KLvP-$Y$:dY2h6]fl">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="convert_type" id="Xwg!LA5!-xsz~fm8#r$r">
                                        <value name="ITEM">
                                          <block type="variables_get" id="1?D(;86SvD-B]TriT5~i">
                                            <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="text" id="C#2z#(gMNQC`ABCExMoQ">
                                        <field name="TEXT">object</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="variables_set" id="*@O8yBq,C[PmjP$G0ozJ">
                                    <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                    <value name="VALUE">
                                      <block type="text_join" id="]Gd*H@PpKkNmY$w0U4:)">
                                        <mutation items="3"></mutation>
                                        <value name="ADD0">
                                          <block type="variables_get" id="J}:[O61vPkumeaWjA`n2">
                                            <field name="VAR" id="C?aqfg}~*49d3WLvY^DA">h</field>
                                          </block>
                                        </value>
                                        <value name="ADD1">
                                          <block type="text" id="58WkD0Y[Xi4!Vx{rb:!^">
                                            <field name="TEXT">:</field>
                                          </block>
                                        </value>
                                        <value name="ADD2">
                                          <block type="get_attr" id="7l1K+NLj%TTn}(2~TcX1">
                                            <value name="PATH">
                                              <shadow type="text" id="+!$zX^K,trNY%pGJKk4i">
                                                <field name="TEXT">m</field>
                                              </shadow>
                                            </value>
                                            <value name="OBJECT">
                                              <block type="variables_get" id="bl0q}PbWPD|xtpmBv=b|">
                                                <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="lists_setIndex" id=":iuUawukQfALMpfxggRU">
                                        <mutation at="false"></mutation>
                                        <field name="MODE">INSERT</field>
                                        <field name="WHERE">LAST</field>
                                        <value name="LIST">
                                          <block type="variables_get" id="|qY;8^C_!OB2UD~1eZ$H">
                                            <field name="VAR" id="(7qgmKCZ6$bbU2Zc+f{4">Ausgabe</field>
                                          </block>
                                        </value>
                                        <value name="TO">
                                          <block type="variables_get" id="e8{tET5l6Ft1$$U]G9Id">
                                            <field name="VAR" id="KZgsTk=AKH4t-HPRD]Mw">i</field>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </statement>
                        <next>
                          <block type="debug" id="6SAZOiO4R!uonXlfwVPg">
                            <field name="Severity">log</field>
                            <value name="TEXT">
                              <shadow type="text">
                                <field name="TEXT">test</field>
                              </shadow>
                              <block type="variables_get" id="Wv=mZ0H#s]n{W{lU7aCK">
                                <field name="VAR" id="(7qgmKCZ6$bbU2Zc+f{4">Ausgabe</field>
                              </block>
                            </value>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </xml>
        

        Die Ausgabe ist dann eine Liste mit den konvertierten Uhrzeiten:

        ['0:20','7:30 ','18:00 ','22:15 ']
        
        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @mickym last edited by mickym

          Ausgangstext:

          Ich gehe um 0:20          am ins Bett, stehe um 7:30 am auf und komme um 6:00 pm von der Arbeit und um 10:15 pm bekam ich einen Anruf?
          

          So ich habs komplett mit JSONATA gemacht:

          a75be36f-32bf-48c2-8f67-19ff4fbe5520-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="GJ2ndMW7LkTX2-FSt,}t">Text</variable>
             <variable id="7S[F@;$pR)jUhf:yHxgr">Uhrzeiten</variable>
           </variables>
           <block type="variables_set" id="dY2fb+(e-ad-Mt0RzlE7" x="88" y="-61">
             <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
             <value name="VALUE">
               <block type="text" id="Om7utVfK8cNM_$JPk#9T">
                 <field name="TEXT">Ich gehe um 0:25             am ins Bett, stehe um 7:30 am auf und komme um 6:00 pm von der Arbeit und um 10:15 pm bekam ich einen Anruf?</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="/E_|Qn|]M{x~c[M$K1}6">
                 <field name="VAR" id="7S[F@;$pR)jUhf:yHxgr">Uhrzeiten</field>
                 <value name="VALUE">
                   <block type="convert_jsonata" id="l=F0K=]/)3k7pL)a:e3R">
                     <value name="EXPRESSION">
                       <shadow type="text" id="TisQmI_oO^/Cn~@CJ,;S">
                         <field name="TEXT">$match($,/\d*\d:\d\d\W*[a,p]m/).match.{"h":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[0], "m":$trim($match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[1]),"i":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[2]}.($number(h) + (i="pm" ? 12 : 0) &amp; ":" &amp; m) </field>
                       </shadow>
                     </value>
                     <value name="TARGET">
                       <block type="variables_get" id="Ko_!Xg))0SwL]q5)A8wW">
                         <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="VL|Yw*~6T`XUb[p=vgI,">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="WsKh+ZW^lV~+@X42W_%/">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="|O^BPAM)u_BSJQ(~Rf#U">
                         <field name="VAR" id="7S[F@;$pR)jUhf:yHxgr">Uhrzeiten</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          hier mal der JSONATA Ausdruck zum Ausprobieren:

          $match($,/\d*\d:\d\d\W*[a,p]m/).match.{"h":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[0],
          "m":$trim($match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[1]),"i":$match($,/(\d*\d):(\d\d\W*)([a,p]m)/).groups[2]}.($number(h) + (i="pm" ? 12 : 0) & ":" & m)  
          

          Wieder mal ein Beispiel wie mächtig JSONATA ist und wieviel Code man sich sparen kann.

          J 1 Reply Last reply Reply Quote 0
          • J
            jumbo125 @mickym last edited by jumbo125

            @mickym
            wauw, danke! jsonata. damit habe ich ja leider keine erfahrung damit...
            aber das sieht ja sehr gut aus!

            jetzt müsste ich die uhrzeiten nur wieder in den text bekommen.

            Ich gehe um 0:20 am ins Bett, stehe um 7:30 am auf und komme um 18:00 von der Arbeit und um 22:15 bekam ich einen Anruf?
            
            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @jumbo125 last edited by mickym

              @jumbo125 Du stellst mich vor Herausforderungen - aber ich hab es hingebracht. 😉

              c357a13d-5fd6-4fc6-82ee-4be8a732ca74-image.png

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id="GJ2ndMW7LkTX2-FSt,}t">Text</variable>
               </variables>
               <block type="variables_set" id="dY2fb+(e-ad-Mt0RzlE7" x="88" y="13">
                 <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                 <value name="VALUE">
                   <block type="text" id="Om7utVfK8cNM_$JPk#9T">
                     <field name="TEXT">Ich gehe um 0:25             am ins Bett, stehe um 7:30 am auf und komme um 6:00 pm von der Arbeit und um 10:15 pm bekam ich einen Anruf?</field>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="_V/Z{KFSxQqO6/QbAfR{">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="YCV..)c*joVUy@zZLwVb">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="4`o;_qliwGpl((6pCp8p">
                         <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="VL|Yw*~6T`XUb[p=vgI,">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="WsKh+ZW^lV~+@X42W_%/">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="convert_jsonata" id="Uv)~o/$!Gw8^,~3bYQ]!">
                             <value name="EXPRESSION">
                               <shadow type="text" id="/pneW,Oj2_RtmURW]ywK">
                                 <field name="TEXT">(     $convert := function($v){(         $arr := $match($v.match,/(\d*\d):(\d\d\W*)([a,p]m)/).groups;         $number($arr[0]) + ($arr[2]="pm" ? 12 : 0) &amp; ":" &amp; $trim($arr[1])         )};     $replace($,/\d*\d:\d\d\W*[a,p]m/, $convert)  )</field>
                               </shadow>
                             </value>
                             <value name="TARGET">
                               <block type="variables_get" id="gDyOiuPM*CRsvabHkQw3">
                                 <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
              </xml>
              

              Der JSONATA-Code ist ein kleines Programm geworden.

              (
                  $convert := function($v){(
                      $arr := $match($v.match,/(\d*\d):(\d\d\W*)([a,p]m)/).groups;
                      $number($arr[0]) + ($arr[2]="pm" ? 12 : 0) & ":" & $trim($arr[1])
                      )};
                  $replace($,/\d*\d:\d\d\W*[a,p]m/, $convert)
               )
              
              J 1 Reply Last reply Reply Quote 0
              • J
                jumbo125 @mickym last edited by

                @mickym
                wauw schut echt gut aus!!!!
                sind die mehrfachen leerzeichen for dem time value wichtig, damit es als uhrzeit erkennt wird? das habe ich leider nicht....
                mein text sieht bspw so aus:
                🟡 Warnstufe 2/4 Gewitterwarnung (Fr. 03:00 PM - Sa. 06:00 AM) Gewitter mit Sturmböen sind zu erwarten.

                aber ich kann es auch in php machen, falls alle stricke reißen....

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @jumbo125 last edited by mickym

                  @jumbo125 hat mit den Leerzeichen nichts zu tun. Man muss es halt um die Großbuchstaben ergänzen bzw. bei den regulären Ausdrücken die Case-Insensitiv Option wählen.

                  90493b07-c6f3-46c2-8922-33e3a76bdad2-image.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="GJ2ndMW7LkTX2-FSt,}t">Text</variable>
                   </variables>
                   <block type="variables_set" id="dY2fb+(e-ad-Mt0RzlE7" x="113" y="-112">
                     <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                     <value name="VALUE">
                       <block type="text" id="Om7utVfK8cNM_$JPk#9T">
                         <field name="TEXT">Ich gehe um 0:20 am ins Bett, stehe um 7:30 am auf und komme um 6:00 pm von der Arbeit und um 10:15 pm bekam ich einen Anruf?</field>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="_V/Z{KFSxQqO6/QbAfR{">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="YCV..)c*joVUy@zZLwVb">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="variables_get" id="4`o;_qliwGpl((6pCp8p">
                             <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="VL|Yw*~6T`XUb[p=vgI,">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="WsKh+ZW^lV~+@X42W_%/">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="convert_jsonata" id="Uv)~o/$!Gw8^,~3bYQ]!">
                                 <value name="EXPRESSION">
                                   <shadow type="text" id="/pneW,Oj2_RtmURW]ywK">
                                     <field name="TEXT">(     $convert := function($v){(         $arr := $match($v.match,/(\d*\d):(\d\d\W*)([a,p]m)/i).groups;         $number($arr[0]) + (($arr[2]="pm" or $arr[2]="PM") ? 12 : 0) &amp; ":" &amp; $trim($arr[1])         )};     $replace($,/\d*\d:\d\d\W*[a,p]m/i, $convert)  )</field>
                                   </shadow>
                                 </value>
                                 <value name="TARGET">
                                   <block type="variables_get" id="gDyOiuPM*CRsvabHkQw3">
                                     <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="oFp*1D5j*sC6=I,s[ofM">
                                 <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                                 <value name="VALUE">
                                   <block type="text" id="HxT8VBlT2(=;H[K1EZP!">
                                     <field name="TEXT">Warnstufe 2/4 Gewitterwarnung (Fr. 03:00 PM - Sa. 06:00 AM) Gewitter mit Sturmböen sind zu erwarten.</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="{fK|=RQ$v):,Nu)aiXwv">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="3LIlEGFkR46k~@YWN;uV">
                                         <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="4o$W[@s(d%y:QX;LPas#">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="convert_jsonata" id="vHa5hu4.!?$H,3DEE7N,">
                                             <value name="EXPRESSION">
                                               <shadow type="text" id="5ViR*V^N;`,/,=8QxtP5">
                                                 <field name="TEXT">(     $convert := function($v){(         $arr := $match($v.match,/(\d*\d):(\d\d\W*)([a,p]m)/i).groups;         $number($arr[0]) + (($arr[2]="pm" or $arr[2]="PM") ? 12 : 0) &amp; ":" &amp; $trim($arr[1])         )};     $replace($,/\d*\d:\d\d\W*[a,p]m/i, $convert)  )</field>
                                               </shadow>
                                             </value>
                                             <value name="TARGET">
                                               <block type="variables_get" id=")_!P`KR^sid,LzP;LfI{">
                                                 <field name="VAR" id="GJ2ndMW7LkTX2-FSt,}t">Text</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  ($convert := function($v){(
                      $arr := $match($v.match,/(\d*\d):(\d\d\W*)([a,p]m)/i).groups;
                      $number($arr[0]) + (($arr[2]="pm" or $arr[2]="PM") ? 12 : 0) & ":" & $trim($arr[1])
                      )};     
                  $replace($,/\d*\d:\d\d\W*[a,p]m/i, $convert))
                  
                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jumbo125 @mickym last edited by

                    @mickym
                    Wahnsinn!!!!
                    ich kenne die ausdrücke auch bei diversen string functionen von php und js. aber da muss ich so ehrlich sein und zugeben, dass ich da immer wieder nachlesen muss, da ich mit den ganzen Backslash, klein und großschreibungen immer durcheinander komme
                    Danke dir!!!!!

                    1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active last edited by mickym

                      Na ja, ich muss da auch ausprobieren. Aber sowohl bei JSONATA gibts eine try Seite und bei regulären Ausdrücken mehrere.JSONATA ist in meinem Augen eine Wahnsinnsbibliothek, die einem viel Codeschreiben abnimmt. Ich bin dazu gekommen, nicht weil ich Blockly sondern NodeRed nutze.

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jumbo125 @mickym last edited by

                        @mickym
                        danke. dachte ich mir schon aufgrund deines logos 🙂

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @jumbo125 last edited by

                          @jumbo125 Hier schau mal, wenn Du dieses Fenster in der JSONTA Doku öffnest:

                          https://try.jsonata.org/WwOgkBnOf

                          kannst Du direkt ausprobieren und siehst das Ergebnis bei jedem Tastendruck.
                          Links die Eingabe, rechts oben Dein Code und rechts unten das Ergebnis:

                          130e187b-a8b9-4f0c-bca6-d6b96bc5bbf2-image.png

                          Ich kanns Dir nur empfehlen.

                          Zum Testen der regulären Ausdrücke verwende ich diese Seite: https://regex101.com/

                          Du hast damit auch immer Erklärungen und siehst Gruppen und Matches.

                          J 2 Replies Last reply Reply Quote 0
                          • J
                            jumbo125 @mickym last edited by

                            @mickym danke dir!

                            1 Reply Last reply Reply Quote 0
                            • J
                              jumbo125 @mickym last edited by

                              @mickym
                              Verzeih wenn ich lästig bin.
                              ich wollte mich mal mit regex etwas auseinandersetzten und dachte ich starte mit deinem code.....
                              aber da kommt gleich mal eine fehlermeldung bei der von dir empfohlenen seite..... könntest du mir einen tipp geben, bitte

                              Danke!
                              080552e2-1a57-4306-82d7-7a37107f0cbc-image.png

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @jumbo125 last edited by mickym

                                @jumbo125 Es handelt sich um JSONATA und nicht um JSON. Also Dein Tool ist völlig verkehrt. Du musst den JSONATA Editor verwenden und meinen LInk aufrufen.

                                https://try.jsonata.org/WwOgkBnOf

                                Reguläre Ausdrücke regex - sind lediglich die Teile zwischen den beiden Schrägstrichen zum Beispiel:

                                /\d*\d:\d\d\W*[a,p]m/
                                

                                oder

                                /(\d*\d):(\d\d\W*)([a,p]m)/
                                

                                Wenn ich Dir den Code erklären soll, dann musst Du es halt sagen, dann gehen wir das Schritt für Schritt durch - aber dann musst Dir halt Zeit nehmen.

                                Wenn Du nur die regulären Ausdrücke testen willst, dann hier: https://regex101.com/r/6vvJNj/1

                                1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active last edited by

                                  @jumbo125 Oder innerhalb der comvert Funktion werden die 3 Gruppen aus dem amerikanischen Zeitformaten gebildet:

                                  https://regex101.com/r/U54uq5/1

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  743
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  2
                                  15
                                  599
                                  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