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. JavaScript
  5. Regex Vereinfachung gesucht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    883

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Regex Vereinfachung gesucht

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 4 Kommentatoren 431 Aufrufe 1 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.
  • W Offline
    W Offline
    WolfgangFB
    schrieb am zuletzt editiert von
    #1

    Ich habe eine Funktion die aus Sekunden die Zeit in Stunden, Minuten Sekunden ausgibt und wenn keine Stunden bzw. Minuten da sind diese eben weglässt un ebenso führende Nullen weglässt.
    ChatGPT hat keine sinnvolle Vereinfachung gefunden, ist hier jemand, der führende Nullen und Doppelpunkte schöner entfernen kann? (ich kann mit meiner Lösung gut leben, es interessiert mich nur, wie man das sinnvoller als Einzeiler machen kann).

    function Sec2Zeit(Sec){
        return formatDate(Sec * 1000, "hh:mm:ss").replace(/^0+/, '').replace(/^:+/, '').replace(/^0+/, '').replace(/^:+/, '');
    }
    
    
    M 1 Antwort Letzte Antwort
    0
    • W WolfgangFB

      Ich habe eine Funktion die aus Sekunden die Zeit in Stunden, Minuten Sekunden ausgibt und wenn keine Stunden bzw. Minuten da sind diese eben weglässt un ebenso führende Nullen weglässt.
      ChatGPT hat keine sinnvolle Vereinfachung gefunden, ist hier jemand, der führende Nullen und Doppelpunkte schöner entfernen kann? (ich kann mit meiner Lösung gut leben, es interessiert mich nur, wie man das sinnvoller als Einzeiler machen kann).

      function Sec2Zeit(Sec){
          return formatDate(Sec * 1000, "hh:mm:ss").replace(/^0+/, '').replace(/^:+/, '').replace(/^0+/, '').replace(/^:+/, '');
      }
      
      
      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @wolfgangfb Warum dann : im formatDate?

      formatDate(1000*sec,'h m s').replace('0','')
      

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      F W 2 Antworten Letzte Antwort
      0
      • M MCU

        @wolfgangfb Warum dann : im formatDate?

        formatDate(1000*sec,'h m s').replace('0','')
        
        F Offline
        F Offline
        fastfoot
        schrieb am zuletzt editiert von fastfoot
        #3

        @mcu und schwupps werden aus 10 Std/Min nur jeweils eine :-)

        @WolfgangFB

        log(formatDate(34000,'h:m:s').replace(/^(0:)+/,'')) 
        

        iobroker läuft unter Docker auf QNAP TS-451+
        SkriptRecovery: https://forum.iobroker.net/post/930558

        W 1 Antwort Letzte Antwort
        0
        • M MCU

          @wolfgangfb Warum dann : im formatDate?

          formatDate(1000*sec,'h m s').replace('0','')
          
          W Offline
          W Offline
          WolfgangFB
          schrieb am zuletzt editiert von
          #4

          @mcu sagte in Regex Vereinfachung gesucht:

          @wolfgangfb Warum dann : im formatDate?

          Weil ich bei 2 Stunden 12 Minuten 45 Sekunden gerne die Ausgabe 2:12:45 hätte

          formatDate(1000*sec,'h m s').replace('0','')
          

          20:00:00 => Ausgabe: "2", nicht ganz das was ich will :-)

          1 Antwort Letzte Antwort
          0
          • mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #5

            Irgendwo glaube ich habe ich mal vor langer Zeit was geschrieben, wie man das picture Format in JS verwendet - aber ich finde es nicht mehr:

            https://www.w3.org/TR/xpath-functions-31/#func-format-dateTime

            Jedenfalls kann man zumindest wenn man als picture format h:m:s verwendet die führenden Nullen wegbekommen.

            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.

            W 1 Antwort Letzte Antwort
            0
            • F fastfoot

              @mcu und schwupps werden aus 10 Std/Min nur jeweils eine :-)

              @WolfgangFB

              log(formatDate(34000,'h:m:s').replace(/^(0:)+/,'')) 
              
              W Offline
              W Offline
              WolfgangFB
              schrieb am zuletzt editiert von
              #6

              @fastfoot sagte in Regex Vereinfachung gesucht:

              @WolfgangFB

              log(formatDate(34000,'h:m:s').replace(/^(0:)+/,'')) 
              

              (Wie gesagt, meine Lösung funktioniert, es geht mir nur darum zu wissen, ob es eine simplere Regex Lösuing für mein Problem gibt).

              Ergebnis von 60000 (also 1 Minute): "1:0", gewünscht ist aber "1:00" (Es soll eben wie eine Zeit aussehen)

              1 Antwort Letzte Antwort
              0
              • mickymM mickym

                Irgendwo glaube ich habe ich mal vor langer Zeit was geschrieben, wie man das picture Format in JS verwendet - aber ich finde es nicht mehr:

                https://www.w3.org/TR/xpath-functions-31/#func-format-dateTime

                Jedenfalls kann man zumindest wenn man als picture format h:m:s verwendet die führenden Nullen wegbekommen.

                W Offline
                W Offline
                WolfgangFB
                schrieb am zuletzt editiert von
                #7

                @mickym sagte in Regex Vereinfachung gesucht:

                Irgendwo glaube ich habe ich mal vor langer Zeit was geschrieben, wie man das picture Format in JS verwendet - aber ich finde es nicht mehr:

                https://www.w3.org/TR/xpath-functions-31/#func-format-dateTime

                Jedenfalls kann man zumindest wenn man als picture format h:m:s verwendet die führenden Nullen wegbekommen.

                Ich möchte die führeden Nullen aber nur ganz vorne wegbekommen, 20 Uhr und 5 Sekunden sieht meiner Meinung nach als "20:0:5" nicht wie eine Zeit aus, während 5 Minuten 7 Sekunden meiner Meinung nach durchaus wie 5:07 aussehen können.

                F 1 Antwort Letzte Antwort
                0
                • W WolfgangFB

                  @mickym sagte in Regex Vereinfachung gesucht:

                  Irgendwo glaube ich habe ich mal vor langer Zeit was geschrieben, wie man das picture Format in JS verwendet - aber ich finde es nicht mehr:

                  https://www.w3.org/TR/xpath-functions-31/#func-format-dateTime

                  Jedenfalls kann man zumindest wenn man als picture format h:m:s verwendet die führenden Nullen wegbekommen.

                  Ich möchte die führeden Nullen aber nur ganz vorne wegbekommen, 20 Uhr und 5 Sekunden sieht meiner Meinung nach als "20:0:5" nicht wie eine Zeit aus, während 5 Minuten 7 Sekunden meiner Meinung nach durchaus wie 5:07 aussehen können.

                  F Offline
                  F Offline
                  fastfoot
                  schrieb am zuletzt editiert von fastfoot
                  #8

                  @wolfgangfb sagte in Regex Vereinfachung gesucht:

                  Ich möchte die führeden Nullen aber nur ganz vorne wegbekommen, 20 Uhr und 5 Sekunden sieht meiner Meinung nach als "20:0:5" nicht wie eine Zeit aus, während 5 Minuten 7 Sekunden meiner Meinung nach durchaus wie 5:07 aussehen können.

                  sieht für mich aus wie 5Std 7Min. :-) ich formatiere grundsätzlich hh:mm:ss dann sieht das auch iuntereinander geschrieben richtig aus. Aber sei's drum:
                  log(formatDate(sec,'hh:mm:ss').replace(/^(0+:|0)+/,''))

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  W 1 Antwort Letzte Antwort
                  0
                  • F fastfoot

                    @wolfgangfb sagte in Regex Vereinfachung gesucht:

                    Ich möchte die führeden Nullen aber nur ganz vorne wegbekommen, 20 Uhr und 5 Sekunden sieht meiner Meinung nach als "20:0:5" nicht wie eine Zeit aus, während 5 Minuten 7 Sekunden meiner Meinung nach durchaus wie 5:07 aussehen können.

                    sieht für mich aus wie 5Std 7Min. :-) ich formatiere grundsätzlich hh:mm:ss dann sieht das auch iuntereinander geschrieben richtig aus. Aber sei's drum:
                    log(formatDate(sec,'hh:mm:ss').replace(/^(0+:|0)+/,''))

                    W Offline
                    W Offline
                    WolfgangFB
                    schrieb am zuletzt editiert von
                    #9

                    @fastfoot sagte in Regex Vereinfachung gesucht:

                    @wolfgangfb sagte in Regex Vereinfachung gesucht:

                    Ich möchte die führeden Nullen aber nur ganz vorne wegbekommen, 20 Uhr und 5 Sekunden sieht meiner Meinung nach als "20:0:5" nicht wie eine Zeit aus, während 5 Minuten 7 Sekunden meiner Meinung nach durchaus wie 5:07 aussehen können.

                    sieht für mich aus wie 5Std 7Min. :-)

                    In dem Fall werden die Sekunden runtergezählt, da sieht man dann schon, dass es keine 5 Stunden sind.

                    ich formatiere grundsätzlich ss:mm:ss

                    ich nehme an Du meinst hh:mm:ss

                    dann sieht das auch iuntereinander geschrieben richtig aus. Aber sei's drum:
                    log(formatDate(sec,'hh:mm:ss').replace(/^(0+:|0)+/,''))

                    Super, das ist die Lösung, die ich gesucht habe.

                    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

                    756

                    Online

                    32.6k

                    Benutzer

                    82.1k

                    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