Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Am zeitformat zu 24h, aus strin convertieren

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    364

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    323

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    943

Am zeitformat zu 24h, aus strin convertieren

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 2 Kommentatoren 998 Aufrufe 2 Beobachtet
  • Ä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.
  • mickymM 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 Offline
    J Offline
    jumbo125
    schrieb am zuletzt editiert von jumbo125
    #4

    @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?
    
    mickymM 1 Antwort Letzte Antwort
    0
    • J 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?
      
      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #5

      @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)
       )
      

      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.

      J 1 Antwort Letzte Antwort
      0
      • mickymM 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 Offline
        J Offline
        jumbo125
        schrieb am zuletzt editiert von
        #6

        @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....

        mickymM 1 Antwort Letzte Antwort
        0
        • J jumbo125

          @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....

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

          @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))
          

          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.

          J 1 Antwort Letzte Antwort
          0
          • mickymM 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 Offline
            J Offline
            jumbo125
            schrieb am zuletzt editiert von
            #8

            @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 Antwort Letzte Antwort
            0
            • mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #9

              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.

              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.

              J 1 Antwort Letzte Antwort
              0
              • mickymM 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 Offline
                J Offline
                jumbo125
                schrieb am zuletzt editiert von
                #10

                @mickym
                danke. dachte ich mir schon aufgrund deines logos :-)

                mickymM 1 Antwort Letzte Antwort
                0
                • J jumbo125

                  @mickym
                  danke. dachte ich mir schon aufgrund deines logos :-)

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

                  @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.

                  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.

                  J 2 Antworten Letzte Antwort
                  0
                  • mickymM mickym

                    @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 Offline
                    J Offline
                    jumbo125
                    schrieb am zuletzt editiert von
                    #12

                    @mickym danke dir!

                    1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @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 Offline
                      J Offline
                      jumbo125
                      schrieb am zuletzt editiert von
                      #13

                      @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

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • J jumbo125

                        @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

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

                        @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

                        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
                        • mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #15

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

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

                          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

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          585

                          Online

                          32.8k

                          Benutzer

                          82.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